Minikube 挂在“启动 VM”这一步

qub*_*its 2 docker kubernetes docker-machine minikube

再次嗨,我心爱的社区。

我的 v0.33.1 minikube 挂在“启动 VM...”步骤上。我正在使用 Windows 10 和下面的 HyperV 虚拟机。我正在使用以下命令运行我的集群:

minikube start --kubernetes-version="v1.10.11" --memory 4096 --vm-driver hyperv --hyperv-virtual-switch "HyperV Switch"
Run Code Online (Sandbox Code Playgroud)

我的 Docker 是:

Version 2.0.0.3 (31259)
Channel: stable
Build: 8858db3
Run Code Online (Sandbox Code Playgroud)

下面的虚拟机上升,但它的 CPU 最终下降到 0% 使用率,它只是停止。Kubectl 也挂了。

我已经尝试过:

  1. 清除 users/.../.minikube 下的 Minikube 缓存
  2. Minikube 删除
  3. 重新安装 Minikube 和 Kubernetes CLI
  4. 重新安装 Docker
  5. 干预 HyperV 主机上的 VM

qub*_*its 5

按照 Diego Mendes 在评论中的建议,我调查了导致 minikube 机器获得 IPv6 地址的问题,这将导致它在启动时挂起。

我在虚拟网络交换机上禁用了IPv6(这可以从网络和共享中心完成->适配器设置-> 右键单击​​相关交换机并找到相关复选框)但虚拟机无论如何都会获取IPv6地址。

v18.02或更高版本开始,Windows 版 Docker带有一个嵌入式 Kubernetes 集群,这会干扰 minikube 配置,导致它阻塞 2 个集群。符合我要求的解决方案是从使用 minikube 切换到仅使用内部原生 docker k8s 集群(唯一的主要缺点是您无法指定 k8s 版本,但总的来说它使脚本更简单)。

你将不得不运行:

  • minikube 删除

然后将 kubernetes 集群上下文更改为指向 docker 实例:

  • kubectl config use-context docker-for-desktop

现在您应该能够执行通常使用kubectl执行的所有操作。