解决办法:
如果kubernetes(K8S)集群无法正常拉取自建镜像仓库中的镜像文件,可以查看事件报错信息进行排查。
第一,检查使用的登陆用户密码是不是输入有误;
第二,检查镜像仓库的secret和配置文件中有没有配置imagePullSecrets。
secret参考配置文档:
kubectl --namespace 命名空间 \
create secret docker-registry 远程仓库名 \
--docker-server=仓库地址(远程仓库一般是域名) \
--docker-username=仓库用户 \
--docker-password=仓库密码 \
--docker-email=邮箱地址
POD文档的imagePullSecrets配置参考如下:
apiVersion: v1
kind: Pod
metadata:
name: busybox
namespace: 命名空间
spec:
containers:
- name: busybox
image: 镜像地址
command:
- sleep
- "3600"
dnsPolicy: ClusterFirst
imagePullSecrets:
- name: 自建远程仓库名
restartPolicy: Always
Deployment文档的imagePullSecrets配置参考如下:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
namespace: new-ns
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
imagePullSecrets:
- name: 自建远程仓库名
containers:
- name: nginx
image: 镜像地址
ports:
- containerPort: 80