在我的掌舵图上,我有一个pre-install
钩子的工作,我需要使用我的秘密中的一个属性。但是,当我尝试安装 helm chart 时,我的pre-install
工作出现以下错误:
错误:未找到秘密“SecretsFileName”
在 Pod 执行之前没有创建秘密?这里有什么问题?我该如何解决这个问题?
笔记:
- 我想使用秘密来加密属性。我不想直接在我的 pod 上使用解密后的值;
- 我已经按特定顺序阅读了 Helm install但我仍然不明白这个错误的原因;
- 我已经尝试在秘密和我的 pod 上使用
"helm.sh/hook": pre-install,post-delete
和,但问题仍然存在。"helm.sh/hook-weight": "1"
"helm.sh/hook-weight": "2"
我的预安装工作:
apiVersion: batch/v1
kind: Job
metadata:
name: "MyPodName"
annotations:
"helm.sh/hook": pre-install
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
#some more code
spec:
template:
#some more code
spec:
dnsPolicy: {{ .Values.specPolicy.dnsPolicy }}
restartPolicy: {{ .Values.specPolicy.restartPolicy }}
volumes:
- name: {{ .Values.volume.name }}
persistentVolumeClaim:
claimName: {{ .Values.volume.claimName }}
securityContext:
{{- toYaml .Values.securityContext | nindent 8 }}
containers:
- name: "MyContainerName"
#some more code
env:
- name: SECRET_TO_USE
valueFrom:
secretKeyRef:
name: SecretsFileName
key: PROP_FROM_SCRETS
#some more code
我的秘密文件:
apiVersion: v1
kind: Secret
metadata:
name: "SecretsFileName"
labels:
app: "MyAppName"
#some more code
type: Opaque
data:
PROP_FROM_SCRETS: eHB0bw==