macOS 上安装 Kubernetes(k8s)

在 macOS 上安装 Kubernetes(k8s)主要有三种主流方案,以下根据安装复杂度、资源占用和适用场景分类说明,并附详细步骤:


⚙️ 一、推荐方案:Minikube(单节点本地集群)

适用场景:学习、开发测试、资源有限(需 2-4GB 内存)。

安装步骤
  1. 安装依赖工具

    • 安装 Docker Desktop(推荐)或 VirtualBox:

      bash 复制代码
      brew install --cask docker

      bash 复制代码
      brew install virtualbox  # 若选 VirtualBox 驱动
    • 安装 kubectl(Kubernetes 命令行工具):

      bash 复制代码
      brew install kubectl
  2. 安装 Minikube

    bash 复制代码
    brew install minikube
  3. 启动集群(以 Docker 驱动为例)

    bash 复制代码
    minikube start --driver=docker
    • 国内镜像加速 (避免拉取超时):

      bash 复制代码
      minikube start --driver=docker --image-mirror-country=cn --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers
  4. 验证安装

    bash 复制代码
    kubectl get nodes  # 应显示 `minikube` 节点状态为 `Ready`
    `minikube dashboard  # 开启 Web 控制台(自动打开浏览器)`

🐳 二、简化方案:Docker Desktop 内置 Kubernetes

适用场景:已安装 Docker Desktop,追求快速启用(需 4-8GB 内存)。

启用步骤
  1. 安装 Docker Desktop

  2. 启用 Kubernetes

    • 打开 Docker Desktop → SettingsKubernetes → 勾选 Enable Kubernetes → 点击 Apply & Restart(等待 5-10 分钟下载组件)。
  3. 验证集群

    bash 复制代码
    kubectl cluster-info  # 查看控制平面信息
    kubectl get nodes     # 显示单节点 `docker-desktop`

📦 三、进阶方案:MicroK8s + Multipass(轻量级虚拟机集群)

适用场景:需要接近生产环境的多节点模拟(需 4GB+ 内存)。

安装步骤
  1. 安装 Multipass(Ubuntu 虚拟机管理工具)

    bash 复制代码
    brew install --cask multipass
  2. 创建虚拟机并安装 MicroK8s

    bash 复制代码
    multipass launch --name microk8s-vm --mem 4G --disk 20G
    multipass exec microk8s-vm -- sudo snap install microk8s --classic
  3. 配置本地访问

    bash 复制代码
    multipass exec microk8s-vm -- /snap/bin/microk8s.config > kubeconfig
    export KUBECONFIG=./kubeconfig  # 临时生效
  4. 启用 Dashboard

    bash 复制代码
    multipass exec microk8s-vm -- /snap/bin/microk8s enable dashboard
    multipass exec microk8s-vm -- /snap/bin/microk8s kubectl proxy --address='0.0.0.0'

⚠️ 常见问题解决

  1. 资源不足导致启动失败

    • Minikube:分配更多资源 minikube config set memory 4096 && minikube config set cpus 2
    • Docker Desktop:调整 Resources 中的 CPU/内存限制。
  2. 镜像拉取超时

    • 使用国内镜像源(如阿里云),参考上述 --image-repository 参数。
  3. kubectl 命令补全

    bash 复制代码
    echo 'source <(kubectl completion zsh)' >> ~/.zshrc  # Zsh 用户

💎 方案对比

方案 资源占用 复杂度 适用场景
Minikube 中等(2-4GB) 学习、本地测试
Docker Desktop 较高(4-8GB) 极低 快速启用、轻量开发
MicroK8s 中等(4GB+) 中高 多节点模拟、生产仿真

📌 总结建议

  • 新手首选 Minikube:步骤明确,社区支持丰富,适合从零入门。
  • 效率优先选 Docker Desktop:省去集群配置,但需订阅 Pro 版避免商业限制。
  • 网络问题:国内用户务必配置镜像加速或代理,避免组件下载失败。

安装完成后,可通过 kubectl run nginx --image=nginx 测试基础功能。若需进一步管理集群,推荐安装 Lens IDE 或使用 k9s 命令行工具提升效率。