官方文档
前置条件
已经安装完成kubernetes集群
已经安装完成harbor
在harbor中创建完成项目,用户,把用户添加到项目的成员当中,成员具有pull镜像的权限
登录到harbor
根据配置的harbor域名,登录到harbor当中,如:
输入用户名和密码,即可登录成功。登录完成之后会在config.json文件中保存授权令牌。通过以下命令查看config.json
文件内容如下:
在k8s集群中创建一个Secret,包含harbor授权令牌
当从私有仓库harbor中pull镜像的时候,k8s集群使用类型为docker-registry的Secret进行认证。
现在创建一个Secret,名称为regcred:
your-registry-server 私有docker镜像仓库域名,如xf.com
your-name is your Docker username.
your-pword is your Docker password.
your-email is your Docker email.
看一下Secret regcred的详细信息
使用如下命令查看regcred的详细信息
输出类似如下:
其中.dockerconfigjson的值包含了登录harbor的用户名和密码等信息,通过以下命令进行查看:
用Secret创建一个Pod
创建文件private-reg-pod.yaml,使用Secret regcred
要从私有仓库pull镜像,k8s需要认证信息,imagePullSecrets这个配置信息指明了k8s需要从名称为regcred的Secret中获取认证信息。然后使用如下命令创建Pod
需要查看Pod被分配到了哪个节点上,看节点上是否已经成功下载了所需要的镜像。