Minikube Kubernetes 不允许在 Mac 上进入,尽管作为 VM 运行

Posted

技术标签:

【中文标题】Minikube Kubernetes 不允许在 Mac 上进入,尽管作为 VM 运行【英文标题】:Minikube Kubernetes won't allow ingress on Mac despite running as a VM 【发布时间】:2020-12-02 21:12:19 【问题描述】:

我跑了minikube start --vm=true 哪个输出:

????  minikube v1.12.2 on Darwin 10.15.5
✨  Using the docker driver based on existing profile
❗  Your system has 16384MB memory but Docker has only 1991MB. For a better performance increase to at least 3GB.

    Docker for Desktop  > Settings > Resources > Memory


????  Starting control plane node minikube in cluster minikube
????  Restarting existing docker container for "minikube" ...
????  Preparing Kubernetes v1.18.3 on Docker 19.03.8 ...
????  Verifying Kubernetes components...
????  Enabled addons: dashboard, default-storageclass, storage-provisioner
????  Done! kubectl is now configured to use "minikube"

然后这个minikube addons enable ingress 给了我这个错误:

????  Due to docker networking limitations on darwin, ingress addon is not supported for this driver.
Alternatively to use this addon you can use a vm-based driver:

    'minikube start --vm=true'

To track the update on this work in progress feature please check:
https://github.com/kubernetes/minikube/issues/7332

但是我用那个特定的标志运行 minikube - 有什么建议吗?

【问题讨论】:

【参考方案1】:

您的 Minikube 似乎没有作为 VM 运行。实际上它仍然使用 Docker 驱动程序。仔细看看输出,Docker 被多次提及:

✨  Using the docker driver based on existing profile
❗  Your system has 16384MB memory but Docker has only 1991MB. For a better performance increase to at least 3GB.

    Docker for Desktop  > Settings > Resources > Memory

关键点在哪里“基于现有配置文件”

这里:

?  Restarting existing docker container for "minikube" ...
?  Preparing Kubernetes v1.18.3 on Docker 19.03.8 ...

尽管您尝试使用 --vm=true 选项启动 Minikube,但它显然被忽略了,并且使用了您的默认设置。

这很可能是因为您第一次使用 --driver=docker 选项(显式或隐式)运行它,并且它已保存在您的 Minikube 配置文件中。要解决此问题,您可能需要删除 Minikube 实例,然后使用 --vm=true 选项重新启动它。通过提供--driver=hyperkit 选项,您可以更加科学并选择确切的管理程序。

所以,只需尝试以这种方式启动您的 Minikube

minikube start --vm=true --driver=hyperkit

如果这没有帮助,并且您会再次看到相同的输出,并提到它一直在使用 docker 驱动程序,请运行:

minikube stop && minikube delete && minikube start --vm=true --driver=hyperkit

这应该可以解决您的问题。一旦它开始使用 HyperKit 管理程序,您应该能够运行 minikube addons enable ingress 而不会出现任何错误。

【讨论】:

请为 M1 macbooks 添加警告,这只会删除您的 minikube,因此您必须重新开始,因为 ARM 不支持 hyperkit。

以上是关于Minikube Kubernetes 不允许在 Mac 上进入,尽管作为 VM 运行的主要内容,如果未能解决你的问题,请参考以下文章

k8s学习——minikube与kubernetes安装与启动

2019年20+个Kubernetes工具盘点

centos7.5安装minikube kubernetes

一旦在 Kubernetes/Minikube 中,Kafka 就无法访问

安装指定版本的minikube

本地电脑安装minikube