[英]why does helm do not accept kubernetes secrets for deployment?
我在 Kubernetes 集群中創建了秘密,用於從私有存儲庫中提取圖像並將其添加到 helm values.yml。
部署開始后( helm install chart /chart
)我看到 helm 部署一直在超時崩潰。
“kubectl describe pod”向我顯示錯誤:“imagePullBackoff”和“錯誤憑據”。
同時,如果要使用kubectl apply -f deployment.yml
文件部署相同的應用程序,則此密鑰按預期工作,並且下載圖像沒有任何問題並且部署成功。
問題是如何強制這個秘密與掌舵圖一起使用?
嘗試使用以下命令創建秘密:
kubectl create secret docker-registry mysecret --docker-server=<docker-repo> --docker-username=<docker-username> --docker-password=<docker-password> --docker-email=<email>
(在上述命令中提供您各自的輸入)
來自 helm 文檔
首先,假設憑證在 values.yaml 文件中定義,如下所示:
imageCredentials:
registry: quay.io
username: someone
password: sillyness
然后我們定義我們的幫助模板如下:
{{- define "imagePullSecret" }}
{{- printf "{\"auths\": {\"%s\": {\"auth\": \"%s\"}}}" .Values.imageCredentials.registry (printf "%s:%s" .Values.imageCredentials.username .Values.imageCredentials.password | b64enc) | b64enc }}
{{- end }}
最后,我們在更大的模板中使用輔助模板來創建 Secret 清單:
apiVersion: v1
kind: Secret
metadata:
name: myregistrykey
type: kubernetes.io/dockerconfigjson
data:
.dockerconfigjson: {{ template "imagePullSecret" . }}
部署中
containers:
- name: private-reg-container
image: <your-private-image>
imagePullSecrets:
- name: myregistrykey
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.