环境说明

win10系统,开启了WSL2
docker for windows,开启了WSL集成
minikube for windows
kubectl for windows

缘由

在看官方文档使用 Service 连接到应用时,有执行到下面这一行命令

kubectl run curl --image=radial/busyboxplus:curl -i --tty

但是pull image时间太久,进入 minikube ssh 运行docker info后发现如下信息

...
Registry: https://index.docker.io/v1/
...

判断应该是没有开启registry镜像导致的,阅读 minikube启动命令 中有一个配置

--registry-mirror strings           Registry mirrors to pass to the Docker daemon

但是使用minikube start --registry-mirror=https://registry.docker-cn.com重新启动minikube后没有效果

解决方案

完整代码如下

minikube ssh
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

解释:
先进入到minikube节点,在节点docker的配置中加入镜像源的配置

多节点

如果minikube使用了多节点,则需要对每个节点进行修改。

比如我以下述方式启动了多节点:

minikube start --nodes 2 -p mk

观察节点:

kubectl get nodes

输出:

NAME     STATUS   ROLES    AGE   VERSION
mk       Ready    master   10h   v1.19.2
mk-m02   Ready    <none>   10h   v1.19.2

那么这两个节点的ssh方式分别为

minikube ssh -n mk -p mk # 或者 minikube ssh -p mk
minikube ssh -n mk-m02 -p mk

配置好国内源之后再pull镜像时就飞快啦~~~

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐