如何检查 Helm 图表/k8s 模板中是否存在 k8s 秘密,或使用默认值?

Romulus Urakagi Ts'ai

我有一个模板部分,如:

    spec:
      containers:
        - name: webinspect-runner-{{ .Values.pipeline.sequence }}
          ...
          env:
            - name: wi_base_url
              valueFrom:
                secretKeyRef:
                  name: webinspect
                  key: wi-base-url
            - name: wi_type
              valueFrom:
                secretKeyRef:
                  name: webinspect
                  key: wi-type

webinspect/wi_type秘密可能会丢失。我希望容器也没有 wi_type envvar 或在密钥丢失时获得默认值(更好),但 k8s 只是报告 CreateContainerConfigError: couldn't find key wi-type in Secret namespace/webinspect并且 pod 失败。

有没有办法使用默认值,或者如果秘密不存在则跳过块?

代码护林员

两个选项,第一个是添加optional: true到 secretKeyRef 块中,使其跳过。第二种是使用lookupHelm 中模板函数的更复杂的方法可能和第一个一起去:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在K8S中,创建新机密时如何使用现有机密中的数据?

如何使用kubectl找出K8s作业是否失败?

如何在k8s yaml文件中引用标签值

如何使用头盔图表在K8S上产生火花

如何在K8s ReadinessProbe和LivenessProbe中的套接字文件中使用gevent检查uwsgi

如何获得k8s中Pod的实时资源使用情况?

如何执行到K8s吊舱中,但从其外部使用bash_profile?

系统安装中的Helm Charts,Ansible-Playbook和K8s Operator

如何使用头盔在k8s中强制删除部署?

如何为在k8s集群中使用Helm安装的Jenkins提供外部服务?

K8S如何使用imagePullSecrets列表处理POD定义中的多个远程docker注册

K8s:如何从Helm Hub安装图表

如何在K8s中管理服务帐户令牌使用情况?

无法使用jsonpath从k8s秘密中的地图获取价值

如何执行YB的k8s / helm设置?

K8s部署的插值

如何使用Ansible k8s模块?

k8s 中的 Prometheus(指标)

如何恢复 k8s 默认池注册

使用 Helm 访问 k8s configmap 中的配置文件时数据为空

K8s秘密组合

如何 curl Pod k8S

k8s yaml文件中,如何在容器中使用环境变量

在k8s中更新秘密后如何检查文件是否更新?

helm 或 K8S 是否使用 spec.selector.matchLabels 覆盖 spec.template.metadata.labels?

如何在 k8s pod 终端中检查数据库?

如何在 k8s yaml 文件中獲取 name 選項的文本值

如何通過循環嵌套 helm 值來創建 k8s configmap

K8s helm 安装后更改一个特定值而不使用 values.yaml 文件