我通过如下命令获取nginx
bash
[root@master01 docker]# kubectl run nginx1-20-2 --image=nginx:1.20.2 --port=81
pod/nginx1-20-2 created
获取后,查看状态一直是没启动
bash
[root@master01 docker]# kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx1-20-2 0/1 ContainerCreating 0 12s
然后看详细信息
bash
kubectl describe pod nginx1-20-2
报错如下:
大概意思:无法从官网拉取
bash
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 73s default-scheduler Successfully assigned default/nginx to node02
Warning Failed 56s kubelet Failed to pull image "nginx:1.20.2": rpc error: code = Unknown desc = Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Warning Failed 30s (x2 over 56s) kubelet Error: ErrImagePull
Warning Failed 30s kubelet Failed to pull image "nginx:1.20.2": rpc error: code = Unknown desc = Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Normal BackOff 16s (x2 over 56s) kubelet Back-off pulling image "nginx:1.20.2"
Warning Failed 16s (x2 over 56s) kubelet Error: ImagePullBackOff
Normal Pulling 5s (x3 over 71s) kubelet Pulling image "nginx:1.20.2"
[root@master01 ~]#
处理方法,配置docker加速器
bash
[root@master01 docker]# cd /etc/docker/
[root@master01 docker]# ll
total 8
-rw-r--r--. 1 root root 351 Dec 8 22:44 daemon.json
-rw-------. 1 root root 244 Nov 14 17:20 key.json
#配置加速器如下:
[root@master01 docker]# cat daemon.json
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://registry.docker-cn.com",
"https://mirror.ccs.tencentyun.com",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://docker.1ms.run",
"https://hub.rat.dev",
"https://docker.1panel.live"
]
}
配置完成后,重启docker
#重新加载 systemd 的配置文件和单元文件
systemctl daemon-reload
#重启docker
systemctl restart docker