从秘密映射时,Kubernetes pod 环境变量未更新

时间:2021-06-07 16:28:53

标签: kubernetes

我正在尝试将 kubernetes 秘密值映射到环境变量。我的秘诀如下图

apiVersion: v1
kind: Secret
metadata:
  name: test-secret
type: opaque
data:
  tls.crt: {{ required "A valid value is required for tls.crt"  .Values.tlscrt }}

将key映射到部署yaml中的环境变量

 env:
 - name: TEST_VALUE
   valueFrom:
       secretKeyRef:
          name: test-secret
          key: tls.crt

当我执行 helm install 时,该值会被映射。但是,当我执行 helm upgrade 时,更改的值不会反映在环境变量中,它仍然具有旧值。任何人都可以在这里帮忙吗?

1 个答案:

答案 0 :(得分:2)

secretconfigMap 数据的更改不会反映在现有 Pod 中。您必须删除并重新创建 pod 才能看到更改。有多种方法可以自动执行此过程(请参阅此 Q/A 示例:Helm chart restart pods when configmap changes)并且它们都有一个共同点:您需要修改 pod 定义中的某些内容以触发重新启动。更新链接的 secretconfigMap 时不会发生这种情况,因为链接保持不变。