在 M1 Mac 上本地运行 Kubernetes

问题描述

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

我需要的环境比较简单,只是为了看一些教程。例如,这个 operator-sdk guide.

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

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

Minikube

当我运行 minikube start --driver=docker(已安装 tech preview of 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 有建议,可以替代设置本地集群,我也会很感激。谢谢!

解决方法

首先,在处理容器时使用 Docker 通常是好的。 Docker 现在有一个 Tech Preview of Docker for Apple M1 based macs

当您在机器上运行 Docker 时,它也应该可以使用 Kind - 一种在 Docker 容器上运行 Kubernetes 的方法。