首页 > 解决方案 > Kubernetes imagePullSecrets 不工作;拉取访问被拒绝

问题描述

kubectl对客户端和服务器版本都使用 1.18.1。我imagePullSecrets在我的 StatefulSet 清单中指定并创建了一个 docker-registry 密码,其中包含以下内容:

{
    "auths": {
       "registryserver.com": {
           "username": "foo",
           "password": "password",
           "auth": "base64string"
       }
    }
}

但是,pod 仍然无法从注册表中拉取镜像。任何建议和见解都值得赞赏。

标签: kubernetesdocker-registrykubernetes-secretskubernetes-statefulsetdocker-repository

解决方案


您可以将以下内容与 Helm 模板一起使用:

文件名:_imagepullsecret_helper.tpl

/* image pull secret */
{{- define "imagePullSecret" }}
{{- printf "{\"auths\": {\"%s\": {\"auth\": \"%s\"}}}" .Values.imageCredentials.registry (printf "%s:%s" .Values.imageCredentials.username .Values.imageCredentials.password | b64enc) | b64enc }}
{{- end }}

推荐阅读