为什么 helm 不接受 kubernetes secrets 的部署?

问题描述 投票:0回答:1

我在Kubernetes集群内创建了秘密,用于从私有仓库中拉取镜像,并将其添加到 helm values.yml中。

部署启动后(helm install chart /chart)我看到舵机部署一直超时崩溃。

"kubectl describe pod "给我显示了一个错误: "imagePullBackoff "和 "wrong credentials"。"imagePullBackoff" 和 "wrong credentials".

同时,如果要部署相同的应用程序与 kubectl apply -f deployment.yml 文件,这个秘密的工作与预期的一样,图像下载没有任何问题,部署成功。

问题是如何强制这个秘密与舵机图一起工作?

kubernetes kubernetes-helm
1个回答
0
投票

试着用这个命令创建秘密。

kubectl  create secret docker-registry mysecret --docker-server=<docker-repo> --docker-username=<docker-username> --docker-password=<docker-password> --docker-email=<email>

(在上面的命令中提供你各自的输入)


-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
© www.soinside.com 2019 - 2024. All rights reserved.