【发布时间】:2020-08-30 15:35:41
【问题描述】:
我正在使用 Spring Cloud Data flow 进行微服务编排并将它们部署在 Kubernetes 中。我的应用程序管道如下所示: Source-app --> Processor-app --> Sink-app
我能够创建和部署流,它成功地创建了部署和 Pod,我的管道在以下 SCDF 部署器属性中运行良好:
app.Source-app.deployer.kubernetes.livenessProbePath=/api/v1/actuator/health
app.Source-app.deployer.kubernetes.readinessProbePath=/api/v1/actuator/info
app.Source-app.server.port=8080
app.Processor-app.deployer.kubernetes.livenessProbePath=/api/v1/actuator/health
app.Processor-app.deployer.kubernetes.readinessProbePath=/api/v1/actuator/info
app.Processor-app.server.port=8080
app.Sink-app.deployer.kubernetes.livenessProbePath=/api/v1/actuator/health
app.Sink-app.deployer.kubernetes.readinessProbePath=/api/v1/actuator/info
app.Sink-app.server.port=8080
deployer.*.kubernetes.liveness-probe-path=/api/v1/actuator/health
deployer.*.kubernetes.readiness-probe-path=/api/v1/actuator/info
现在我的要求是,我想将上述所有配置存储在 Kubernetes 的 ConfigMap 中,然后在 SCDF 部署程序属性窗口中引用或挂载该 ConfigMap。我知道我们可以将 configMapKeyRefs 用作环境变量(仅限字符串值),例如:
deployer.Source-app.kubernetes.configMapKeyRefs=[{envVarName: 'LIVENESSPROBEPATH', configMapName: 'test-conf', dataKey: 'livenessProbePath }]
app.Source-app.deployer.kubernetes.livenessProbePath=$(LIVENESSPROBEPATH)
...对每个属性依此类推...
但是我们需要为每个属性都这样做。 我正在寻找类似的东西,在 configMap 中提及所有属性,然后在 SCDF 中部署流时引用或安装该 ConfigMap,瞧!您的所有属性都会传递给应用程序。 我指的是官方文档并阅读了有关volumeMounts和persistentVolumes的信息,但不是很清楚。如果有人可以为我的用例提供解决方案,那将有很大帮助。
【问题讨论】:
标签: kubernetes spring-cloud-dataflow configmap