kubernetes Hyper-v和VirtualBox在带有Minikube的对接器中发生冲突[已关闭]

kcrjzv8t  于 2022-12-17  发布在  Kubernetes
关注(0)|答案(4)|浏览(108)

**已关闭。**此问题为not about programming or software development。当前不接受答案。

此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site的主题有关,您可以留下评论,说明在何处可以回答此问题。
4天前关闭。
Improve this question
我尝试在Windows 10企业版上使用Minikube扩展我的Docker容器。但是,我遇到了一些与Hyper-V和VirtualBox的冲突。我知道Docker需要Hyper-V才能正常运行,而Minikube需要VirtualBox才能运行(如果启用Hyper-V,则显示错误)

C:\WINDOWS\system32>minikube start
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Downloading Minikube ISO
160.27 MB / 160.27 MB [============================================] 100.00% 
0s
E0822 11:42:07.898412   13028 start.go:174] Error starting host: Error 
creating host: Error executing step: Running precreate checks.
: This computer is running Hyper-V. VirtualBox won't boot a 64bits VM when 
Hyper-V is activated. Either use Hyper-V as a driver, or disable the Hyper-V 
hypervisor. (To skip this check, use --virtualbox-no-vtx-check).

如果我禁用Hyper-V,我可以正确启动minikube,但Dockers不工作,并显示一个错误,以启用Hyper-V。
我还尝试运行minikube与Hyper-V驱动程序,但也得到这个错误:

C:\WINDOWS\system32>minikube start --vm-driver hyperv
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
E0822 11:44:32.323877   13120 start.go:174] Error starting host: Error 
creating host: Error executing step: Running precreate checks.
: no External vswitch found. A valid vswitch must be available for this 
command to run. Check https://docs.docker.com/machine/drivers/hyper-v/.

有什么办法吗?

5gfr0r5j

5gfr0r5j1#

我还尝试运行minikube与Hyper-V驱动程序,但也得到这个错误:
在HyperV和vswitch的文档中有一个关于这种情况的明确警告:https://github.com/kubernetes/minikube/blob/v0.28.2/docs/drivers.md#hyperv-driver
虽然在minikube的辩护中,它也确实说了就在最后为了阅读除了--vm-driver=hyperv之外还应该提供的--hyperv-virtual-switch标志,应该去的URL。
导航到链接的docker页面,它甚至提供了一个逐步的屏幕截图示例,说明如何实现这一点。

j2datikz

j2datikz2#

接下来的步骤解决了我的问题:

> minikube start --vm-driver=hyperv -v 9999

如果存在另一个错误,例如
错误:[HYPERV_NO_VSWITCH]创建:precreate:未找到外部vswitch。必须有有效的vswitch才能运行此命令
只需手动创建一个交换机。

xeufq47z

xeufq47z3#

我有一个类似的问题,下一个命令解决了这个问题:

minikube delete
ujv3wf0j

ujv3wf0j4#

试试这个..
确保docker正在运行
打开Hyper-V管理器
转到超级交换机管理器
创建供内部使用的新虚拟交换机
将其命名为switch 01,然后按应用或确定

然后在cmd或powershell中执行以下命令
迷你库删除
minikube启动--hyperv虚拟交换机=交换机01

相关问题