Minikube 在 "Starting VM" 步挂起

Minikube hangs on the "Starting VM" step

亲爱的社区,大家好。

我的 v0.33.1 minikube 在 "Starting VM..." 步骤挂起。我在下面使用 Windows 10 和一个 HyperV 虚拟机。我是 运行 我的集群,命令如下:

minikube start --kubernetes-version="v1.10.11" --memory 4096 --vm-driver hyperv --hyperv-virtual-switch "HyperV Switch"

我的 Docker 是:

Version 2.0.0.3 (31259)
Channel: stable
Build: 8858db3

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

我已经试过了:

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

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

我在虚拟网络交换机上禁用了IPv6(这可以在网络和共享中心 -> Adapter Settings -> 右键单击​​相关开关并找到相关复选框)但虚拟机无论如何都会获取 IPv6 地址.

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

你必须运行:

  • minikube 删除

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

  • kubectl 配置使用上下文 docker-for-desktop

现在您应该能够执行通常使用 kubectl.

执行的所有操作

Piotr,关于 Windows 上的 minikube,您还可以使用 docker 工具箱和 VirtualBox。这个我已经解释过了。您也可以尝试使用 chocolatey 安装 minikube,在我的特定情况下,它与 Docker for Windows 以及 minikube 与 Hyper-V 并行运行良好。

至于这个案例,它真的很有趣,因为我至少看到过几个案例,有人在 Windows 的 minikube 上遇到问题,而且没有明显的原因。