问题描述
书接上回基于Vagrant和minikube创建Kubernetes运行环境.在测试运行容器时发现容器镜像拉取不下来,运行kubectl get pods状态为ImagePullBackOff:
vagrant@ubuntu-jammy:~$ kubectl run ngx --image=nginx:alpine
vagrant@ubuntu-jammy:~$ kubectl get pods
NAME READY STATUS RESTARTS AGE
ngx 0/1 ImagePullBackOff 0 7m48s
运行kubectl describe pods确定应该是容器镜像源配置的问题:
尝试了重启minikube并指定--image-mirror-country和--image-repository配置但并没有效果:
vagrant@ubuntu-jammy:~$ minikube stop
vagrant@ubuntu-jammy:~$ minikube start --image-mirror-country='cn' --image-repository='registry.cn-hangzhou.aliyuncs.com/google_containers' --kubernetes-version=v1.23.3
通过查阅文章,发现可通过minikube ssh进入minikube内部,更改docker镜像源配置,然后手动下载需要的镜像.
方案一:直接更改daemon.json
通过minikube ssh进入minikube内部,在其/etc/docker/daemon.json文件追加registry-mirrors配置
vagrant@ubuntu-jammy:~$ minikube ssh
docker@minikube:~$ sudo vim /etc/docker/daemon.json
对/etc/docker/daemon.json追加registry-mirrors配置:
{
"exec-opts":["native.cgroupdriver=systemd"],
"registry-mirrors": [
"https://docker.m.daocloud.io", #2024年8月可用