簡體   English   中英

為什么 helm 不接受 kubernetes 機密進行部署?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM