码迷,mamicode.com
首页 > 其他好文 > 详细

K8S 从私有仓库拉取镜像

时间:2021-07-09 17:53:31      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:出现   png   Kubernete   xxxx   原因   div   min   仓库   k8s   

  通常来讲,我们在通过公共镜像仓库拉取docker镜像的时候,不需要任何的认证操作,但我们在构建了企业的私有镜像以后,就不得不在拉取镜像之前通过用户名密码来完成认证。

  在docker单机环境中,我们可以直接在宿主机上执行docker login https://myhub.fdccloud.com类似这种命令的方式来完成认证。但在通过kubernetes来对docker做相关集群管理时,就不得不在所有的节点机上通过上面那种方式完成认证。这在大规模的应用架构中,是不可取的。

  当然,我们有另外一种稍微简便的方法。事实上,在执行docker login https://xxxxx完成认证的时候,实际是在前用户的家目录的.docker目录下生成了一个config.json文件。我们查看该文件的内容如下:

技术图片

 这个文件包含了认证信息。所以另一个可行的办法,就是直接将该文件通过自动化的方式,推送到所有节点机的相应目录即可。但在实际的测试中,这种方式推送的节点仍然会偶尔出现认证失败的情况,具体什么原因目前尚不清楚。kubernetes提供多种针对私有仓库认证的方式,在这里,我只说明其中的一种方法,也是我实际使用的方法,通过k8s的secret来实现。

k8s master上通过docker login登录registry,生成config.json文件。然后执行如下命令,将文件转换成base64编码:

技术图片

创建Secret

命令直接创建,这种方式创建

kubectl create secret docker-registry k8s-auth --docker-server=registry.k8s.com --docker-username=admin --docker-password=Harbor12345

 技术图片

 

 通过解码,可以看到这种方式创建的内容比较繁琐,实际上我们只需要下面这样的即可。

技术图片

 

K8S 从私有仓库拉取镜像

标签:出现   png   Kubernete   xxxx   原因   div   min   仓库   k8s   

原文地址:https://www.cnblogs.com/outsrkem/p/14988159.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!