kubernetes Minikube挂在Creating hyperv VM上

lrpiutwd  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(4)|浏览(126)

注意:我需要Hyper-V作为虚拟机驱动程序,因为我希望能够使用入口插件;使用Docker作为驱动程序将不允许在Windows中使用插件。

我正在使用Minikube v1.11.0和Kubernetes v1.18.3。当我尝试在PowerShell中使用Hyper-V根据this tutorial创建和启动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


怎么办?

g2ieeal7

g2ieeal71#

根据您遵循的教程,您必须在Hyper-V管理器中创建一个类型为External的新虚拟网络交换机。作者没有解释为什么网络交换机必须是外部的,除了这种配置最好避免Minikube与其他软件不能正常工作的头痛。
由于某种原因,虚拟网络交换机的外部类型出现问题,请在Hyper-V管理器中为虚拟网络交换机使用内部类型,而不是外部类型。然后运行以下命令删除配置错误的集群并进行清理:

minikube delete

字符串
现在,使用内部虚拟网络交换机重新运行Minikube集群的create/launch命令:

minikube start --vm-driver hyperv --hyperv-virtual-switch "Your Internal Virtual Switch"


现在,当新集群正确完成时,您就已经完全设置好了!

csga3l58

csga3l582#

在Windows Server 2019中修复Azure VM:

  • 在网络选项卡中检查minikube VM是否有IP地址
  • 如果 NO IP地址且VM中未运行DHCP,则转至下一步
  • 创建新的InternalNAT交换机:

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

字符串
1.创建DHCP服务器

  • 为192.168.. 创建新范围(或任何范围,记下此范围)

1.删除并重新创建minikube并使用“InternalNat”开关

minikube start --vm-driver hyperv --hyperv-virtual-switch "InternalNAT"

mwngjboj

mwngjboj3#

使用minikube start --hyperv-use-external-switch代替!

c7rzv4ha

c7rzv4ha4#

要求64位版本的Windows 10 Enterprise、Pro或Education(系统要求)启用Hyper-V启用Hyper-V以管理员身份打开PowerShell控制台,然后运行以下命令:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

字符串
如果Hyper-V以前未处于活动状态,则需要重新启动。
使用情况

minikube start --driver=hyperv


要使hyperv成为默认驱动程序,请执行以下操作:

minikube config set driver hyperv


规格

相关问题