4

我们在 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

替换不适用于上述设置。是否有不同的方法来声明嵌套结构的键名?

4

1 回答 1

0

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

configmap 带有一个更简单的结构——只有子元素——

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

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

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

发这个供参考。

于 2018-10-05T08:41:26.343 回答