目录
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 \
> --docker-email=xxx@xxx.com \
> -n dev
wayne-docker-registry-key为名称
执行成功后,如下图所示
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的情况
也可以到对应的node节点上执行
docker images
查看是否有镜像
有就成功了。
4,说明
如果拉不了镜像,就在k8s的每个节点上,执行 docker login的操作,登陆之后就可以拉取镜像了。