一、前情提要
关于 Nexus 的配置,请参照前文:https://blog.csdn.net/shida_csdn/article/details/80006645
二、k8s 集成 Nexus 仓库配置步骤
2.1 全部节点,需要预先导入证书,该证书是 Nexus 使用的自签名证书,具体参考【前情提要】
2.2 k8s 创建 Secret
由于私有仓库需要登录后才能拉取镜像,因此需要告诉 k8s 拉取镜像时使用的用户名和密码
创建 Secret 命令:
kubectl create secret docker-registry docker-local --docker-server=192.168.12.129:7709 --docker-username=admin --docker-password=admin123 --docker-email=admin@ctsi.com.cn --namespace=default
其中: docker-local 是密钥名字, docker-server 是私有仓库地址,
docker-username/docker-password 是私有仓库用户名和密码,docker-email 随便写个就好
namespace 是密钥生效的命名空间
这里需要注意的是,如果多个命名空间都要使用私有仓库,则每个命名空间都要创建 Secret,解释
2.3 使用 Secret
关键就是指定 imagePullSecrets 字段,另外注意下命名空间下确实已经创建了该 Secret
apiVersion: v1
kind: Pod
metadata:
name: private-reg
spec:
containers:
- name: private-reg-container
image: <your-private-image>
imagePullSecrets:
- name: docker-local