在 K8s 秘密清单中,我将秘密作为非 Base64 编码秘密放在
data
字段中。 helm diff
执行效果很好,并返回 diff 的退出代码 2
。然而,对于 helm upgrade
,它失败了退出代码 1
,因为秘密 data
不是 base64 编码的。
我想知道是否有办法在
helm diff
阶段验证秘密是否是非base64编码的。
谢谢
如果你想在 helm 中使用秘密,你有 2 个选择。使用
stringData
声明它们,或使用 b64enc
函数。
StringData 不必进行 Base64 编码。事实上,它不应该被编码。
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
stringData:
password: {{ .Values.password }}
或者,将原始字符串编码为base64。
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
string:
password: {{ .Values.password | b64enc }}