k8s从私有仓库拉取镜像

目录

1,修改k8s各个节点集群的文件daemon.json

 2,在对应的命名空间下,创建secret

 3,编写命令配置文件,验证相关操作

4,说明


1,修改k8s各个节点集群的文件daemon.json

vim /etc/docker/daemon.json

增加

"insecure-registries": ["192.168.199.103:5000"]

192.168.199.103:5000 为私有仓库地址

 2,在对应的命名空间下,创建secret

kubectl create secret docker-registry wayne-docker-registry-key \
> --docker-server=192.168.199.103:5000 \
> --docker-username=xxx \
> --docker-password=xxx \
> [email protected] \
> -n dev

wayne-docker-registry-key为名称

执行成功后,如下图所示

k8s从私有仓库拉取镜像_第1张图片

 3,编写命令配置文件,验证相关操作

配置文件示例:sercet-nginx.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
    name: wayne-nginx-deploy
    namespace: dev
spec:
    selector:
        matchLabels:
             app: wayne-nginx
    replicas: 2
    template:
        metadata:
            labels:
                app: wayne-nginx
            namespace: dev
        spec:
            imagePullSecrets:
              - name: wayne-docker-registry-key # 这个是上文生成的key
            containers:
              - name: wanye-name
                image: 192.168.199.103:5000/wayne-nginx:20221016v2
                ports:
                - containerPort: 80

执行kubectl create -f sercet-nginx.yaml后观察pod的情况

k8s从私有仓库拉取镜像_第2张图片

 也可以到对应的node节点上执行

docker images

查看是否有镜像

k8s从私有仓库拉取镜像_第3张图片

 有就成功了。

4,说明

如果拉不了镜像,就在k8s的每个节点上,执行 docker login的操作,登陆之后就可以拉取镜像了。

你可能感兴趣的:(docker,k8s,kubernetes,docker,运维,k8s)