Kubernetes中拉取Harbor私有镜像

1、首先,确保已经安装了Docker并配置好了与Harbor的连接。可以使用docker login <harbor地址>命令登录到Harbor仓库。
创建一个Secret对象来存储Harbor的认证信息。可以通过运行以下命令生成该Secret对象:

kubectl create secret docker-registry harbor --docker-server=<harbor地址> 
  --docker-username=<用户名> --docker-password=<密码> --dry-run -o yaml | kubectl apply -f -

其中,将 <harbor地址>、<用户名> 和 <密码> 分别替换为相应的值。这样就会创建一个名为 harbor 的 Secret 对象。 

[root@qianyi-ecs nginx]# kubectl get secret
NAME                  TYPE                                  DATA   AGE
default-token-kj2gf   kubernetes.io/service-account-token   3      26h
harbor                kubernetes.io/dockerconfigjson        1      9m19s

2、 编写一个 Kubernetes Pod YAML 文件,指定所需的容器镜像及其他必要的设置。示例如下:

apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
    - name: mycontainer
      image: <harbor地址>/<项目名称>/<镜像名称>:<标签>
      ports:
        - containerPort: 80
  imagePullSecrets:
    - name: harbor

注意替换 <harbor地址>、<项目名称>、<镜像名称> 和 <标签> 为实际的值。此处还引用了之前创建的 harbor Secret 对象。
3、使用 kubectl apply -f <Pod YAML文件路径> 命令部署该 Pod。
4、等待片刻后,可以使用 kubectl get pods 查看 Pod 状态,当状态变为 "Running" 时表示成功拉取 Harbor 私有镜像。

[root@qianyi-ecs nginx]# kubectl get pods --all-namespaces
NAMESPACE     NAME                            READY   STATUS    RESTARTS   AGE
default       my-nginx                        1/1     Running   0          10m

5、若想删除该 Pod,可以使用 kubectl delete pod <Pod名称> 命令。