![](/img/trans.png)
[英]Kubernetes stuck at 'Starting' with Docker Desktop on Windows 10
[英]Docker for Windows stuck at "Kubernetes is Starting" after updating to version 2.1.1.0 Edge (or Stable)
我最近在 Windows 10 机器上将我的 Docker for Desktop 更新到了最新的 Edge 通道版本:2.1.1.0。 不幸的是,更新后,Kubernetes 不再工作,因为它总是卡在“Kubernetes 正在启动”。
到目前为止,我已经尝试过以下方法。
似乎没有任何工作。 我该如何解决?
经过数小时尝试不同的事情,这最终帮助了我:
将 Docker 恢复为出厂默认设置并退出 Docker for Desktop
删除文件夹C:\ProgramData\DockerDesktop\pki
(备份它以防万一)。 请注意,许多人报告该文件夹位于其他位置: C:\Users\<user_name>\AppData\Local\Docker\pki
删除文件夹~\.kube\
(再次备份以确保安全)
再次启动 Docker,打开 Docker 设置,进行必要的配置更改(添加代理、设置资源限制等),启用 Kubernetes 并让它启动
稍等片刻,Docker 和 Kubernetes 都将启动。
当您尝试使用 kubectl 连接到 Kubernetes 时,您可能会遇到另一个问题,例如
Unable to connect to the server: x509: certificate signed by unknown authority
您可以通过以下方式解决此问题
https://kubernetes.docker.internal:6443
替换为https://localhost:6443
或者,如果您使用(公司)代理:在代理配置正确的情况下,将kubernetes.docker.internal
添加到NO_PROXY
(例如export NO_PROXY=kubernetes.docker.internal
)。
如果这仍然不能解决您的问题,请查看C:\ProgramData\DockerDesktop\log\
中的日志以进一步调试问题
我建议您检查您的 etc/hosts 文件是否有以下行。
127.0.0.1 docker-for-desktop
127.0.0.1 kubernetes.docker.internal
因为 docker 无法解析您的 localhost 并且它卡在该状态。
您是否支持某些公司代理? 如果是这样,请在第一次启动 K8 时尝试切换您的代理或尝试绕过它。 我有同样的问题,这实际上解决了我的问题,而不是升级或降级。
Irshad 的解决方案对我有用。 就我而言, pki dir 在
C:\Users\<用户名>\AppData\Local\Docker
我今天面临这个问题,花了几个小时试图解决这个问题。 首先是找出为什么它一直挂在启动。 您可以通过检查C:\ProgramData\DockerDesktop的日志来找到原因。 会有一些service.txt文件,打开最近修改的那个。
对我来说,问题是这样的,
[19:32:58.189][ApiProxy][Error] time="2020-01-20T19:32:58+13:00" msg="Cannot list nodes: Get https://kubernetes.docker.internal:6443/api/v1/nodes: EOF"
一旦知道了问题,我们就可以轻松解决它。 我必须删除C:\ProgramData\DockerDesktop中名为pki的文件夹(如issues/4316中所述)并重新启动 docker。
现在一切都很好。 这可能不是启动时所有挂起的原因,但检查日志肯定会有所帮助。
希望这可以帮助!
根据https://forums.docker.com/t/waiting-for-kubernetes-to-be-up-and-running/47009上的信息,什么对我有用:
我在 Windows 10 上遇到了 Docker Desktop 2.4.0 的问题。日志文件位于不同的位置 -
C:\Users<用户名>\AppData\Local\Docker\log.txt
日志文件总是告诉真实情况。 就我而言,我手动编辑了
C:\Users<用户名>.kube\config yaml 文件
并弄乱了空格和制表符。 在纠正它时,它开始顺利!
对我来说, docker 正在启动,而 kubernetes 被困在了Starting
中。
Irshad 的解决方案也适用于我,只需删除pki
文件夹。
Windows 的文件夹位置: C:\Users\<username>\AppData\Local\Docker\pki
。
我的问题在接下来的步骤中得到了解决:
C:\Windows\System32\drivers\etc
如果您正在查看至少如何禁用 Kubernetes 和重置按钮无济于事:
浏览了上面的每个答案,这是唯一为我修复它的答案!
它包含上面的一些东西,但清理所有文件很重要,否则,它不会得到修复
1卸载docker 2在您的Windows用户文件夹中,删除以下
.kube
.docker
3 删除ProgramData中的docker和dockerDesktop
C:\Users\user\AppData\Local C:\user\raffaeler\AppData\Roaming
4 安装最新的 Docker
5 然后只激活 Kubernetes,不激活其他选项。
继续观看以下日志文件以了解进度。 对我来说,kubernetes 的出现花了很多时间。
%USERPROFILE%\AppData\Local\Docker\log.txt
%USERPROFILE%\AppData\Roaming\Docker\log\vm\kubelet.log
%USERPROFILE%\AppData\Roaming\Docker\log\vm\dockerd.log
检查日志文件%USERPROFILE%\AppData\Local\Docker\log.txt
就我而言,我发现 kubernetes 不会重新安装,因为我已重命名目录%USERPROFILE%\.kube
为了从头开始。
然而,环境变量KUBECONFIG
仍然设置,并且指的是一组不再存在的连接配置文件。
为了解决我删除环境变量的问题,
然后通过docker桌面ui重新安装kubernetes。
这重新创建了%USERPROFILE%\.kube\config
然后我恢复了其他配置文件并使用连接值重新创建了变量KUBECONFIG
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.