kubernetes的imagePullSecrets如何生成及使用


参考文档:https://kubernetes.io/zh/docs/tasks/configure-pod-container/pull-image-private-registry/

一、生成secret

$ docker login lvzhenjiang.harbor.com

Login Succeeded

登录过程创建或更新一个包含授权令牌的config.json文件。

查看config.json文件:

{
	"auths": {
		"lvzhenjiang.harbor.com": {
			"auth": "YWRtaW46SGFyYm9yMTIzNDU="
		}
	}

基于现有Docker凭据创建secret

kubernetes集群使用docker注册表类型的秘密对容器注册表进行身份验证,以获取私有映像。

如果您已经运行了Docker登录,则可以将该凭证复制到Kubernetes中:

$ kubectl create secret generic harborsecret \
    --from-file=.dockerconfigjson=/root/.docker/config.json \
    --type=kubernetes.io/dockerconfigjson

注意,主要修改的内容: 

  • harborsecret: 表示key名
  • /root/.docker/config.json 表示docker认证文件,注意要写绝对路径。

查看内容:

$ kubectl get secrets harborsecret --output="jsonpath={.data.\.dockerconfigjson}" | base64 -d
{
	"auths": {
		"lvzhenjiang.harbor.com": {
			"auth": "YWRtaW46SGFyYm9yMTIzNDU="
		}
	}
}

要了解刚刚创建的regcred秘密的内容,请从以yaml格式进行查看:

$ kubectl get secrets harborsecret -oyaml

二、在deployment yaml文件使用

... 
spec:
      imagePullSecrets:
      - name:harborsecret
      containers:
      - name: eureka
        image: lvzhenjiang.harbor.com/library/alpine:latest
...
posted @ 2020-12-16 13:50  吕振江  阅读(781)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end