Minikube 挂在 Creating hyper V 上
Minikube hanging on Creating hyperv VM
注意:我需要 Hyper-V 作为 VM 驱动程序,因为我希望能够使用入口插件;使用 Docker 作为驱动程序将不允许在 Windows.
中使用插件
我正在使用 Minikube v1.11.0 和 Kubernetes v1.18.3。当我尝试根据 this tutorial 使用 PowerShell 中的 Hyper-V 创建和启动 Minikube 集群时,它一直挂在“正在创建 hyperv VM:
”
PS C:\WINDOWS\system32> minikube start --vm-driver hyperv --hyperv-virtual-switch "Primary Virtual Switch"
* minikube v1.11.0 on Microsoft Windows 10 Pro 10.0.18363 Build 18363
- KUBECONFIG=~/.kube/config
* Using the hyperv driver based on user configuration
* Starting control plane node minikube in cluster minikube
* Creating hyperv VM (CPUs=4, Memory=4096MB, Disk=20000MB) ...
大约 10 分钟后,它进一步崩溃并出现以下错误:
* Stopping "minikube" in hyperv ...
* Powering off "minikube" via SSH ...
* Deleting "minikube" in hyperv ...
! StartHost failed, but will try again: creating host: create host timed out in 240.000000 seconds
E0605 19:02:43.905739 30748 main.go:106] libmachine: [stderr =====>] : Hyper-V\Get-VM : Hyper-V was unable to find a virtual machine with name "minikube".
At line:1 char:3
+ ( Hyper-V\Get-VM minikube ).state
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (minikube:String) [Get-VM], VirtualizationException
+ FullyQualifiedErrorId : InvalidParameter,Microsoft.HyperV.PowerShell.Commands.GetVM
...
Multiple E0605 errors
...
* Failed to start hyperv VM. "minikube start" may fix it: creating host: create host timed out in 240.000000 seconds
*
* [CREATE_TIMEOUT] error provisioning host Failed to start host: creating host: create host timed out in 240.000000 seconds
* Suggestion: Try 'minikube delete', and disable any conflicting VPN or firewall software
* Related issue: https://github.com/kubernetes/minikube/issues/7072
怎么办?
根据您遵循的教程,您必须在 Hyper-V 管理器中创建一个类型为 External 的新虚拟网络交换机。作者没有解释为什么网络交换机必须是外部的,除了这种配置是最好的避免 Minikube 与其他软件无法正常工作的头痛。
由于某种原因,虚拟网络交换机的外部类型是问题所在,在 Hyper-V 管理器中为您的虚拟网络交换机使用 Internal 类型而不是外部类型。然后运行以下命令删除错误配置的集群并清理:
minikube delete
现在,重新运行 使用内部虚拟网络交换机为您的 Minikube 集群执行 create/launch 命令:
minikube start --vm-driver hyperv --hyperv-virtual-switch "Your Internal Virtual Switch"
现在,当新集群正确完成时,您就已经设置好了!
在 Windows Server 2019 中修复 Azure VM:
检查 minikube VM 是否在网络选项卡中有 IP 地址
- 如果VM中没有 IP地址且没有DHCP运行,则进行下一步
-
Powershell:
New-VMSwitch -Name "InternalNAT" -SwitchType Internal
Get-NetAdapter
# Take note of the "ifIndex" for the virtual switch you just created, assuming 13
New-NetIPAddress -IPAddress 192.168.0.1 -PrefixLength 24 -InterfaceIndex 13
New-NetNat -Name "InternalNat" -InternalIPInterfaceAddressPrefix 192.168.0.0/24
- 创建 DHCP 服务器
- 为 192.168 创建新范围。。(或任何范围,记下该范围)
- 删除并重新创建 minikube 并使用“InternalNat”开关
minikube start --vm-driver hyperv --hyperv-virtual-switch "InternalNAT"
注意:我需要 Hyper-V 作为 VM 驱动程序,因为我希望能够使用入口插件;使用 Docker 作为驱动程序将不允许在 Windows.
中使用插件我正在使用 Minikube v1.11.0 和 Kubernetes v1.18.3。当我尝试根据 this tutorial 使用 PowerShell 中的 Hyper-V 创建和启动 Minikube 集群时,它一直挂在“正在创建 hyperv VM:
”PS C:\WINDOWS\system32> minikube start --vm-driver hyperv --hyperv-virtual-switch "Primary Virtual Switch"
* minikube v1.11.0 on Microsoft Windows 10 Pro 10.0.18363 Build 18363
- KUBECONFIG=~/.kube/config
* Using the hyperv driver based on user configuration
* Starting control plane node minikube in cluster minikube
* Creating hyperv VM (CPUs=4, Memory=4096MB, Disk=20000MB) ...
大约 10 分钟后,它进一步崩溃并出现以下错误:
* Stopping "minikube" in hyperv ...
* Powering off "minikube" via SSH ...
* Deleting "minikube" in hyperv ...
! StartHost failed, but will try again: creating host: create host timed out in 240.000000 seconds
E0605 19:02:43.905739 30748 main.go:106] libmachine: [stderr =====>] : Hyper-V\Get-VM : Hyper-V was unable to find a virtual machine with name "minikube".
At line:1 char:3
+ ( Hyper-V\Get-VM minikube ).state
+ ~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (minikube:String) [Get-VM], VirtualizationException
+ FullyQualifiedErrorId : InvalidParameter,Microsoft.HyperV.PowerShell.Commands.GetVM
...
Multiple E0605 errors
...
* Failed to start hyperv VM. "minikube start" may fix it: creating host: create host timed out in 240.000000 seconds
*
* [CREATE_TIMEOUT] error provisioning host Failed to start host: creating host: create host timed out in 240.000000 seconds
* Suggestion: Try 'minikube delete', and disable any conflicting VPN or firewall software
* Related issue: https://github.com/kubernetes/minikube/issues/7072
怎么办?
根据您遵循的教程,您必须在 Hyper-V 管理器中创建一个类型为 External 的新虚拟网络交换机。作者没有解释为什么网络交换机必须是外部的,除了这种配置是最好的避免 Minikube 与其他软件无法正常工作的头痛。
由于某种原因,虚拟网络交换机的外部类型是问题所在,在 Hyper-V 管理器中为您的虚拟网络交换机使用 Internal 类型而不是外部类型。然后运行以下命令删除错误配置的集群并清理:
minikube delete
现在,重新运行 使用内部虚拟网络交换机为您的 Minikube 集群执行 create/launch 命令:
minikube start --vm-driver hyperv --hyperv-virtual-switch "Your Internal Virtual Switch"
现在,当新集群正确完成时,您就已经设置好了!
在 Windows Server 2019 中修复 Azure VM:
检查 minikube VM 是否在网络选项卡中有 IP 地址
- 如果VM中没有 IP地址且没有DHCP运行,则进行下一步
Powershell:
New-VMSwitch -Name "InternalNAT" -SwitchType Internal
Get-NetAdapter
# Take note of the "ifIndex" for the virtual switch you just created, assuming 13
New-NetIPAddress -IPAddress 192.168.0.1 -PrefixLength 24 -InterfaceIndex 13
New-NetNat -Name "InternalNat" -InternalIPInterfaceAddressPrefix 192.168.0.0/24
- 创建 DHCP 服务器
- 为 192.168 创建新范围。。(或任何范围,记下该范围)
- 删除并重新创建 minikube 并使用“InternalNat”开关
minikube start --vm-driver hyperv --hyperv-virtual-switch "InternalNAT"