Skip to content

在 macOS 上使用 Colima 极速搭建轻量级 K3s 集群 ​

Colima K3s 示意图

在 macOS 上进行云原生开发,往往需要一个本地的 Kubernetes 环境。传统的 Minikube 略显笨重,而 Docker Desktop 自带的 K8s 不仅占用资源巨大,还有商业授权限制。

Colima 作为 macOS 上轻量级容器运行时的最佳替代品,不仅完美支撑了 Docker 的日常使用,更内置了对 K3s 的极佳支持。无需复杂的配置,一条命令即可拉起一个原生的、极速的 K8s 集群。

一、前置准备:安装 kubectl ​

⚠️ 极其重要的前置条件

必须提前在宿主机安装 kubectl 命令行工具! 如果在启动 Colima 时指定了 --kubernetes 参数,但宿主机找不到 kubectl,Colima 的初始化进程将会异常退出。

推荐直接下载官方二进制文件进行安装(比 Homebrew 依赖更少、更纯净):

bash
# 1. 下载最新版 kubectl (Intel Mac 用 amd64,M 芯片请改用 arm64)
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"

# 2. 赋予执行权限
chmod +x ./kubectl

# 3. 移动到系统路径 (如果是 Apple Silicon 或 M 芯片,建议放 /usr/local/bin)
sudo mv ./kubectl /usr/local/bin/kubectl

验证安装是否成功:

bash
kubectl version --client

正常情况下能看到如下版本信息:

text
Client Version: v1.37.2
Kustomize Version: v5.8.1

二、一键启动带 K3s 的 Colima 虚拟机 ​

确保 kubectl 安装完毕后,直接在命令行执行以下命令,分配 4 核 CPU 和 6GB 内存,并开启 Kubernetes:

bash
colima start --cpu 4 --memory 6 --kubernetes

启动过程深度解析 ​

在这个过程中,Colima 会在底层做大量的工作,你会看到类似如下的日志:

text
INFO[0000] starting colima
INFO[0000] runtime: docker+k3s
INFO[0000] creating and starting ...                     context=vm
INFO[0189] provisioning ...                              context=docker
INFO[0194] starting ...                                  context=docker
INFO[0195] provisioning ...                              context=kubernetes
INFO[0196] downloading and installing ...                context=kubernetes
INFO[0931] loading oci images ...                        context=kubernetes
INFO[0956] starting ...                                  context=kubernetes
INFO[0984] updating config ...                           context=kubernetes
INFO[0986] Switched to context "colima".                 context=kubernetes
INFO[0991] done

在这漫长的几分钟里(取决于网速),Colima 会在虚拟机内部拉取并加载以下核心 K3s 镜像:

  • rancher/klipper-lb:v0.4.13 (Service LoadBalancer 实现)
  • rancher/local-path-provisioner:v0.0.32 (本地存储卷)
  • rancher/mirrored-coredns-coredns:1.13.1 (集群 DNS)
  • rancher/mirrored-library-busybox:1.37.0
  • rancher/mirrored-library-traefik:3.5.1 (默认的 Ingress Controller)
  • rancher/mirrored-metrics-server:v0.8.0 (资源指标)

并且,Colima 非常智能地帮你执行了 Switched to context "colima",自动接管了你的 K8s 配置。

三、验证集群状态 ​

看到 INFO[0991] done 后,直接在 macOS 宿主机终端(不需要 ssh 进虚拟机)执行:

bash
kubectl get nodes

如果一切顺利,你将看到:

text
NAME     STATUS   ROLES                  AGE    VERSION
colima   Ready    control-plane,master   1m     v1.35.0+k3s1

至此,一个轻量级、原生的 Kubernetes 集群已经在你的 Mac 上安家落户了!

💡 硬件性能提示

关于老款设备的性能表现: 实测在 2017 款 2 核 16G 内存的 MacBook Pro (Intel 芯片) 上,即使跑极其轻量的 K3s 也会感受到明显的吃力(CPU 资源瓶颈)。 强烈建议使用 Apple Silicon (M系列芯片) 且内存 16GB 以上的 MacBook Pro 作为本地 K8s 开发机,体验会有质的飞跃。

最后更新2026/11/07 14:16
如果你觉得这篇文章有帮助,或者想聊聊技术、工作,欢迎通过下面方式联系我:
contact fishfinal