Kubernetes-嵌套变量的ConfigMap

时间:2018-10-04 09:10:32

标签: kubernetes configmap

我们有一个部署在AKS集群中的映像,在部署过程中需要使用configmaps更新映像。

配置文件具有以下密钥,我们试图替换“ ChildKey”的值而不替换整个文件-

{
  "ParentKey": {
    "ChildKey": "123"
  }
}

配置图看起来像-

apiVersion: v1
data:
  ParentKey: |
    ChildKey: 456
kind: ConfigMap
name: cf

在部署中,像这样使用configmap-

apiVersion: extensions/v1beta1
kind: Deployment
spec:
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: abc
    spec:
      containers:
      - env:
        - name: ParentKey
          valueFrom:
            configMapKeyRef:
              key: ParentKey
              name: cf

该替换不适用于上述设置。有没有其他方法来声明嵌套结构的键名?

1 个答案:

答案 0 :(得分:0)

我们已经通过以下方式解决了这个问题-

configmap带有一个更简单的结构-仅子元素-

apiVersion: v1
data:
  ChildKey: 456
kind: ConfigMap
name: cf

在部署中,环境变量键是指这样的子键-

apiVersion: extensions/v1beta1
kind: Deployment
spec:
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: abc
    spec:
      containers:
      - env:
        - name: ParentKey__ChildKey
          valueFrom:
            configMapKeyRef:
              key: ChildKey
              name: cf

将其发布以供参考。