问题描述
我有一个非常简单的秘密定义
apiVersion: v1
kind: Secret
metadata:
name: mysecret
data:
username: YWRtaW4=
password: MWYyZDFlMmU2N2Rm
我想在我的 git repo 中保留秘密的定义,但显然不应提交真实值,并且此文件只应提供一些默认值。
我有一个工具,可以应用相应目录中的所有 k8s 文件。 这个工具每次都会恢复初始值从而恢复我的手动更改。
我想检查是否有办法忽略密钥的值更改。 例如。在 terraform 中,出于这个确切原因,有“ignore_changes”标志。
完整图片:我正在使用:
- Rancher - 查看/修改单个资源
- Argo - 将 k8s 清单文件同步到集群。
解决方法
根据您的 k8s 版本,您可以尝试不可变的秘密:https://kubernetes.io/docs/concepts/configuration/secret/#secret-immutable
我无法告诉您尝试覆盖密钥是否会导致错误。
根据这是否是您自己的图像,您还可以使用两种不同的秘密,一种是默认的,一种是手动创建的。两者都安装到 pod 中,但手册优先。