在 M1 Mac 上本地运行 Kubernetes

Jam*_*ain 12 kubernetes minikube microk8s apple-silicon

我想看看目前是否可以在 2020 M1 MacBook air 上本地运行 Kubernetes。

我需要的环境比较简单,只是为了看一些教程。举个例子,这个操作符-sdk 指南

到目前为止,我已经尝试过microk8sminikube,因为它们是我之前在其他机器上使用过的工具。

对于这两个,我brew在打开终端应用程序“with Rosetta 2”(即像这样)后安装了它们。我的进度是:

Minikube

当我运行时minikube start --driver=docker(已经安装了Docker Desktop for M1技术预览版),出现初始化错误。在我看来,这里正在跟踪https://github.com/kubernetes/minikube/issues/9224

Microk8s

microk8s install要求安装multipass,然后出现错误An error occurred with the instance when trying to start with 'multipass': returned exit code 2. Ensure that 'multipass' is setup correctly and try again.。Multipass 显示microk8s-vm卡在启动中。我认为这可能与这个问题有关https://github.com/canonical/multipass/issues/1857

我知道我可能会更好地追查这些问题以寻求有关这些特定错误的帮助。如果目前可以/建议设置基本的 Kubernetes 环境以在 M1 mac 上使用,那么任何一般性建议都会很棒。我对这里的底层技术没有经验,因此欢迎提供任何其他上下文。:)

如果有人对实践 Kubernetes 有建议,可以替代设置本地集群,我也会很感激。谢谢!

Jon*_*nas 11

首先,在处理容器时使用 Docker 通常是好的。Docker 现在为基于 Apple M1 的 Mac 提供了 Docker技术预览版

当你有一个干活泊坞你的机器上,也应该努力用一种-一种对Docker容器运行Kubernetes。

  • @KarthikaiselvanR - 是的,我能够使用上面链接的图像(`kind create cluster --image rossgeorgiev/kind-node-arm64:v1.20.0`)创建一个集群,并运行 Docker 技术预览版。我已将该集群用于我在问题中提到的operator-sdk 教程,以及 kubernetes.io 文档中的一些示例。没有什么重型的,但对我来说绝对没问题。 (5认同)
  • @SayJeyHi 我也遇到了 m1 Docker Desktop 上内置 Kubernetes 的问题。我能找到摆脱“Kubernetes 正在启动”状态的唯一方法是从故障排除菜单中执行“重置为出厂默认设置”。我现在已经按照上面的线索从 Kind 转向 Minikube,并且对我来说工作得很好。具体来说,我按照[此](https://github.com/kubernetes/minikube/issues/9224#issuecomment-772606796)视频中的说明进行操作。 (2认同)