勾选 Enabel Kubernetes 后启用 k8s,但一直处于 starting 状态,影响正常使用。

原因是勾选开启 k8s 后,Docker Desktop 需要从镜像仓库拉取 k8s 相关镜像。

PS: 虽然笔者提前将仓库改为国内的网易提供的镜像但仍出现问题。

解决办法办法是手动执行拉去步骤,方法如下:

# 克隆仓库
git clone https://github.com/crowall/k8s-docker-desktop-for-mac.git
# 或者直接下载里面的 load_images.sh 和 images 文件
wget https://raw.githubusercontent.com/crowall/k8s-docker-desktop-for-mac/master/load_images.sh
wget https://raw.githubusercontent.com/crowall/k8s-docker-desktop-for-mac/master/images
# 然后执行之即可
sh load_images.sh

本质上就是拉取安装了以下镜像:

k8s.gcr.io/kube-proxy:v1.18.3=gotok8s/kube-proxy:v1.18.3
k8s.gcr.io/kube-controller-manager:v1.18.3=gotok8s/kube-controller-manager:v1.18.3
k8s.gcr.io/kube-scheduler:v1.18.3=gotok8s/kube-scheduler:v1.18.3
k8s.gcr.io/kube-apiserver:v1.18.3=gotok8s/kube-apiserver:v1.18.3
k8s.gcr.io/coredns:1.6.7=gotok8s/coredns:1.6.7
k8s.gcr.io/pause:3.2=gotok8s/pause:3.2
k8s.gcr.io/etcd:3.4.3-0=gotok8s/etcd:3.4.3-0

参考项目: https://github.com/gotok8s/k8s-docker-desktop-for-mac