1.K8S在默认情况下只能拉取Harbor仓库中的公有镜像,拉取私有镜像会报错:ErrImagePull 或 ImagePullBackOff

2.在每台服务器上配置harbor的地址,修改或创建/etc/docker/daemon.json文件,加入以下配置:

[root@k8s-master01 k8s]# cat /etc/docker/daemon.json
{
 “registry-mirrors”:[“https://docker.mirrors.ustc.edu.cn/”],
 “exec-opts”:[“native.cgroupdriver=systemd”],
 “insecure-registries”: [“192.168.30.107:5012”]
 }

3.登录harbor 

docker login http://192.168.30.107:5012

 

4.查看秘钥:

cat /root/.docker/config.json
{
    “auths”: {
        “192.168.30.107:5012”: {
            “auth”: “YWRtaW46SGFyYm9yMTIzNDU=”
        }
    }

5.将密钥进行base64加密:

cat /root/.docker/config.json | base64 -w 0
ewoJImF1dGhzIjogewoJCSIxOTIuMTY4LjMwLjEwNzo1MDEyIjogewoJCQkiYXV0aCI6ICJZV1J0YVc0NlNHRnlZbTl5TVRJek5EVT0iCgkJfQoJfQp9

 

6.创建 harbor_secret.yaml 文件

[root@k8s-master01 k8s]# cat harbor_secret.yml
apiVersion: v1
data:
  .dockerconfigjson: ewoJImF1dGhzIjogewoJCSIxOTIuMTY4LjMwLjEwNzo1MDEyIjogewoJCQkiYXV0aCI6ICJZV1J0YVc0NlNHRnlZbTl5TVRJek5EVT0iCgkJfQoJ
fQp9kind: Secret
metadata:
  name: harbor-login
  namespace: default
type: kubernetes.io/dockerconfigjson

7.创建secret

 

[root@k8s-master01 ~]# kubectl apply -f harbor_secret.yml
secret/harbor-login created
[root@k8s-master01 ~]# kubectl get secrets
NAME                  TYPE                                  DATA   AGE
default-token-njd5x   kubernetes.io/service-account-token   3      64d
harbor-login          kubernetes.io/dockerconfigjson        1      17s
secret                Opaque                                2      52d

8.在pod的deployement yaml文件中添加如下配置即可,deployement yaml具体使用这里不做详解

[root@k8s-master01 k8s]# cat pipeline.yml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: pipeline
  namespace: default
  labels:
    app: pipeline
spec:
  replicas: 2
  selector:
    matchLabels:
      app: pipeline
  template:
    metadata:
      labels:
        app: pipeline
    spec:
      containers:
      – image: 192.168.30.107:5012/repo/pipeline:v3.0.0
        name: pipeline
        imagePullPolicy: Always
        ports:
        – containerPort: 8080
          protocol: TCP
      imagePullSecrets:
      – name: harbor-login

 

原文地址:http://www.cnblogs.com/fenghua001/p/16793180.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性