我在Windows 10机器上有一个kubernetes单节点集群。由于某些错误,我不得不重新安装Docker Desktop
,此后docker成功安装后,kubernetes安装失败。解决所有尝试,例如删除config
目录中的.kube
文件并完全重新安装失败。有关详细信息,请参见附件pix。已安装的docker版本为Docker version 18.09.2, build 6247962
。所有在线搜索工作都无法得出可能的解决方案。我希望能找到解决方案或解决方案的指针。
答案 0 :(得分:3)
我陷入了两种错误
我终于按照以下项目的建议进行了整理, https://github.com/AliyunContainerService/k8s-for-docker-desktop/ 按照它告诉你的,如果不行, 删除〜/ .kube和〜/ Library / Group \ Containers / group.com.docker / pki目录,然后重新启动docker桌面并等待5分钟。 Kubernetes的状态最终是 running 。
答案 1 :(得分:1)
为将来参考,一种可能的解决方法是删除 C:/ ProgramData / DockerDesktop / pki文件夹。
答案 2 :(得分:1)
就我而言,我将 kubectl 上下文设置为 AWS EKS。
kubectl config use-context docker-desktop
答案 3 :(得分:0)
我将从分析Kubernetes系统容器的日志开始。
有关如何执行此操作的信息,请参考StackOverflow上的this答案。
答案 4 :(得分:0)
我建议您按照Nepomucen here的建议,使用命令docker ps -a --filter name=k8s
检查运行的Kubernetes组件。
然后,使用命令:docker logs {container id from the previous command}
检查每个组件的日志。您可能会从日志中得到一些想法。
就我而言,它是-x509: certificate is valid for docker-for-desktop, kubernetes, kubernetes.default, kubernetes.default.svc, kubernetes.default.svc.cluster.local, host.docker.internal,
不是vm.docker.internal
因此,我尝试了此link中建议的解决方案,它对我有用
答案 5 :(得分:0)
删除C:\ programdata \ DockerDesktop中的pki目录为我解决了这个问题。
答案 6 :(得分:0)
在我的情况下,没有创建系统容器,而我所要登录的只是在应该创建系统容器时从kubernetes返回EOF。
经过调查,我们发现了带有.kube和config删除,pki之类的解决方案。我还调查了网络设置和公司策略,dns等是否会产生影响。全部都可能,但没有提供解决方案。
唯一有效的解决方案是卸载并安装最新的稳定Docker桌面。因此,我的理解是,由于该Docker设置会随着时间的推移进行大量升级,因此某些配置或部分安装会造成混乱和无法恢复的kubernetes设置/首次启动。
答案 7 :(得分:0)
对于任何遇到此问题的人,对我有用的是:
kubernetes.docker.internal
添加到Windows环境变量列表中,其名称为NO PROXY
(**)*我在github:https://github.com/docker/for-win/issues/6627#issuecomment-637713206上遵循了此问题的步骤。您可以在此处找到更多说明,但主要是Windows需要让kubernetes绕过其代理。
Some clients support the no_proxy environment variable that specifies a set of domains for which the proxy should not be consulted
**要添加Windows环境变量,请在Windows搜索中键入environment
并打开“编辑系统环境变量”或直接从“控制面板”中将其打开。点击environment variables
按钮,然后向system variables
答案 8 :(得分:0)
答案 9 :(得分:0)
只需在“重置”选项卡上执行“重置Kubernetes群集”,即可为我解决此问题。
答案 10 :(得分:0)
好的,我终于在我的 kube 中找到了问题。
似乎我的主机文件无效,无法重现,但您可以执行以下步骤:
打开命令行并尝试ping到kubernetes.docker.internal,这是docker添加到主机文件中的k8s ip。
如果无法 ping (127.0.0.1),请保存主机文件的副本 (c:\windows\system32\drivers\etc\host) 并尝试编辑/删除 docker 注释“#由 Docker 桌面添加"等
如果你得到ping docker 就可以得到配置的ip。
注意:在 .kube\config 中,您可以在“server:”键下看到 IP。