如何在 Kubernetes 中获取动态密钥的 configmap 值
How can I get configmap value where the key is dynamic in Kubernetes
在我的一个部署文件中,我想设置一个环境变量。变量是 KUBE_VERSION
,必须从 ConfigMap 中获取值。
kube_1_21: 1.21.10_1550
这是我想将 1.21.10_1550
设置为 KUBE_VERSION
的 ConfigMap 的一部分,但如果群集是 IKS 1.20,则密钥将为:
kube_1_20: 1.20.21_3456
kube_
始终是静态的。如何使用正则表达式设置环境变量?
这类东西:
- name: KUBE_VERSION
valueFrom:
configMapKeyRef:
name: cluster-info
key: "kube_1*"
据我所知,很遗憾,您无法使用正则表达式。此外,您还有关于验证输入数据的正则表达式的信息:
regex used for validation is '[-._a-zA-Z0-9]+')
因此您必须输入 key
作为字母数字字符串,此外您还可以使用字符 -
、_
和 .
所以这是不可能的在这个地方使用正则表达式。
要解决此问题,您可以编写自定义脚本,即在 Bash 中并将正确的行替换为 sed command。
在我的一个部署文件中,我想设置一个环境变量。变量是 KUBE_VERSION
,必须从 ConfigMap 中获取值。
kube_1_21: 1.21.10_1550
这是我想将 1.21.10_1550
设置为 KUBE_VERSION
的 ConfigMap 的一部分,但如果群集是 IKS 1.20,则密钥将为:
kube_1_20: 1.20.21_3456
kube_
始终是静态的。如何使用正则表达式设置环境变量?
这类东西:
- name: KUBE_VERSION
valueFrom:
configMapKeyRef:
name: cluster-info
key: "kube_1*"
据我所知,很遗憾,您无法使用正则表达式。此外,您还有关于验证输入数据的正则表达式的信息:
regex used for validation is '[-._a-zA-Z0-9]+')
因此您必须输入 key
作为字母数字字符串,此外您还可以使用字符 -
、_
和 .
所以这是不可能的在这个地方使用正则表达式。
要解决此问题,您可以编写自定义脚本,即在 Bash 中并将正确的行替换为 sed command。