当前位置:   article > 正文

k8s使用harbor私有仓库镜像 —— 筑梦之路

k8s使用harbor私有仓库镜像 —— 筑梦之路

官方文档: Secret | Kubernetes

  ImagePullSecrets的设置是kubernetes机制的另一亮点,习惯于直接使用Docker Pull来拉取公共镜像,但非所有容器镜像都是公开的。此外,并不是所有的镜像仓库都允许匿名拉取,也就是说需要身份认证;
  kubernetes有一个secret记录类型,可用于配置镜像登陆凭证,secret的一个特定的类型:kubernetes.io/dockercfg 或者 kubernetes.io/dockerconfigjson。与所有kubernetes记录一样,Secrets通过名称被其他资源引用。此处是通过ImagePullSecrets来引用Secret的。

 

 创建Secrets资源

  1. # Docker Config 创建 Secret
  2. kubectl create secret docker-registry \
  3. harbor-secret \
  4. --docker-server=harbor.codemiracle.com \
  5. --docker-username=admin \
  6. --docker-password=Harbor12345
  7. kubectl create secret docker-registry <secret名字> \
  8. --docker-server=<镜像仓库服务器> \
  9. --docker-username=<用户名> \
  10. --docker-password=<密码> \
  11. --docker-email=<邮箱地址>
  12. # 使用 kubernetes.io/dockerconfigjson 类型的 Secret 来通过镜像仓库的身份验证
  13. 服务器上我们 docker login 一个镜像仓库,会生成一个文件:~/.docker/config.json>
  14. kubectl create secret generic <secret名字> \
  15. --from-file=.dockerconfigjson=<path/to/.docker/config.json> \
  16. --type=kubernetes.io/dockerconfigjson
  17. kubectl create secret generic harbor-secret \
  18. --from-file=.dockerconfigjson=~/.docker/config.json \
  19. --type=kubernetes.io/dockerconfigjson

查看secrets资源

kubectl get secrets

引入imagePullSecrets

  1. apiVersion: v1
  2. kind: Pod
  3. metadata:
  4. name: private-reg
  5. spec:
  6. containers:
  7. - name: private-reg-container
  8. image: <your-private-image>
  9. imagePullSecrets:
  10. - name: harbor-secret

注意:secret需要各自添加下namespace,只针对各自的命名空间生效 

  1. apiVersion: v1
  2. kind: Secret
  3. metadata:
  4. name: harbor-secret
  5. namespace: public
  6. data:
  7. .dockerconfigjson: UmVhbGx5IHJlYWxseSByZWVlZWVlZWVlZWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGx5eXl5eXl5eXl5eXl5eXl5eXl5eSBsbGxsbGxsbGxsbGxsbG9vb29vb29vb29vb29vb29vb29vb29vb29vb25ubm5ubm5ubm5ubm5ubm5ubm5ubm5ubmdnZ2dnZ2dnZ2dnZ2dnZ2dnZ2cgYXV0aCBrZXlzCg==
  8. type: kubernetes.io/dockerconfigjson

参考资料:

1.https://kubernetes.io/zh-cn/docs/concepts/containers/images/

2.https://kubernetes.io/zh-cn/docs/tasks/configure-pod-container/pull-image-private-registry/#registry-secret-existing-credentials

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/483379
推荐阅读
相关标签
  

闽ICP备14008679号