我已经在Kubernetes集群内部创建了秘密,用于从私有存储库中提取图像,并将其添加到helm values.yml中。
部署开始后(helm install chart /chart
),我看到头盔部署一直在因超时而崩溃。
“ kubectl describe pod”向我显示了一个错误:“ imagePullBackoff”和“凭证错误”。
如果同时使用kubectl apply -f deployment.yml
文件部署同一应用程序,则此机密将按预期工作,并且下载映像时不会出现任何问题,并且部署成功。
问题是如何迫使这个秘密与头盔图一起使用?
答案 0 :(得分:0)
尝试使用此命令创建密钥:
kubectl create secret docker-registry mysecret --docker-server=<docker-repo> --docker-username=<docker-username> --docker-password=<docker-password> --docker-email=<email>
(在上述命令中提供您各自的输入)
答案 1 :(得分:-1)
来自掌舵文件
首先,假定凭据是在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