升级到Windows10 2004后,安装了Ubuntu-20.04子系统和Docker Desktop,在启动Kubernetes后,一直卡在kubernetes is starting...
初次操作步骤
第一次安装好Docker后什么配置都没做,直接在Kubernetes选项中勾选了Enable Kubernetes
和Show system containers(advanced)
(如下图,写文章时截的图,请忽略Kubernetes running),然后点击Apply & Restart
,然后就是无尽的等待。。。
1分钟...
5分钟...
10分钟...
30分钟...
等待ing...
终于等不及先睡了
第一次尝试解决问题
先把 docker desktop 重置到了出厂设置
删除C:\Users\用户名\AppData\Local\Docker\pki
文件夹
删除C:\Users\用户名\.kube
文件夹
Troubleshoot-->Reset to factory defaults
经过简单搜索,可能是docker镜像源的问题,于是修改为国内镜像加速器,如下:
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://reg-mirror.qiniu.com"
],
"insecure-registries": [],
"debug": true,
"experimental": false
}
勾选 Enable Kubernetes
点击 Apply & Restart
依旧是无尽的等待...
第二次尝试解决问题
先把 docker desktop 重置到了出厂设置
删除C:\Users\用户名\AppData\Local\Docker\pki
文件夹
删除C:\Users\用户名\.kube
文件夹
Troubleshoot-->Reset to factory defaults
再次经过和度娘艰苦卓绝地深入探索,终于在漆黑的山洞里看到了隐约的点点亮光。
先从 https://github.com/AliyunContainerService/k8s-for-docker-desktop
克隆了最新的master分支,这个分支支持当前 docker desktop 的k8s版本 v1.16.5
以下三行命令使用PowerShell,要在Docker启动的状态下操作
git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop
cd k8s-for-docker-desktop
.\load_images.ps1
脚本执行完毕,使用 docker images
命令可以看到 pull 的镜像们。
再次
勾选 Enable Kubernetes
点击 Apply & Restart
又一次无情的无尽等待...
最后一次尝试
先把 docker desktop 重置到了出厂设置
删除C:\Users\用户名\AppData\Local\Docker\pki
文件夹
删除C:\Users\用户名\.kube
文件夹
Troubleshoot-->Reset to factory defaults
喊了邻居度娘,谷哥一起帮忙,终于查到了一个issue https://github.com/docker/for-win/issues/6264#issuecomment-612575602
做了如下操作:
1、在 hosts 里添加了一行 127.0.0.1 kubernetes.docker.internal
2、又把镜像加速器修改了下,用了Azure的国内源
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://reg-mirror.qiniu.com",
"https://hub-mirror.c.163.com"
],
"insecure-registries": [],
"debug": true,
"experimental": false
}
3、clone 并执行了“第二次尝试解决问题”中的 load_images.ps1 脚本
再次
勾选 Enable Kubernetes
点击 Apply & Restart
果不其然,又是一次无情的等...等了三五分钟,奇迹般的 Kubernetes 状态变成了running
但到底是因为修改了hosts,还是修改了docker镜像源才成功的我也说不准,我已无力再尝试,期待你的留言。