在Spring Cloud中安装ConfigMaps 在Kubernetes中部署的数据流。

问题描述 投票:0回答:1

我正在使用Spring Cloud Data flow进行微服务编排,并将它们部署在Kubernetes中。我的应用程序管道看起来像下面这样:Source-app--> Processor-app--> Sink-app。

我能够创建和部署流,它成功地创建部署和pods,我的管道与下面的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,然后瞧!你的所有属性都被传递给应用程序。如果有人能为我的案例提供一个解决方案,那将会有很大的帮助。

kubernetes spring-cloud-dataflow configmap
1个回答
0
投票

考虑你有configmap这样的东西。

apiVersion: v1
data:
  USER_ID: "1"
  USER_EMAIL: [email protected]
  IS_DATA_ENABLED : "True"
kind: ConfigMap
metadata:
  name: staging-configmap
  namespace: default

你可以在部署中注入所有属性

envFrom:
        - secretRef:
            name: test-secret
        - configMapRef:
            name: staging-configmap

如果你也有秘密,你可以将秘密也挂载或注入部署及其变量集操作系统。configMapRef 它将把config-map的所有属性添加到部署中。

© www.soinside.com 2019 - 2024. All rights reserved.