当前位置: 首页 > news >正文

macOS 上安装 Kubernetes(k8s)

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


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

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

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

    • 安装 Docker Desktop(推荐)或 VirtualBox:
      brew install --cask docker
      
      brew install virtualbox  # 若选 VirtualBox 驱动
      
    • 安装 kubectl(Kubernetes 命令行工具):
      brew install kubectl
      
  2. 安装 Minikube

    brew install minikube
    
  3. 启动集群(以 Docker 驱动为例)

    minikube start --driver=docker
    
    • 国内镜像加速(避免拉取超时):
      minikube start --driver=docker --image-mirror-country=cn --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers
      
  4. 验证安装

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

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

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

启用步骤
  1. 安装 Docker Desktop

    • 从https://www.docker.com/products/docker-desktop并拖入应用目录。
  2. 启用 Kubernetes

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

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

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

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

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

    brew install --cask multipass
    
  2. 创建虚拟机并安装 MicroK8s

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

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

    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 命令补全

    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 命令行工具提升效率。

http://www.dtcms.com/a/290857.html

相关文章:

  • 深度学习-常用环境配置
  • 基于R语言的分位数回归技术应用
  • next.js刷新页面时二级菜单展开状态判断
  • Java 通过 HttpURLConnection发送 http 请求
  • CG-04 翻斗式雨量传感器 分辨率0.1mm,0.2mm可选择 金属材质
  • 数据结构自学Day11-- 排序算法
  • 使用 Longformer-base-4096 进行工单问题分类
  • Redis进阶--缓存
  • Ubuntu 22.04 安装 MySQL 8.0 完整步骤文档
  • 计算机网络中:传输层和网络层之间是如何配合的
  • 7月21日星期一今日早报简报微语报早读
  • 计算机史前时代:从原始计数到机械曙光
  • 计算机发展史:集成电路时代的微缩革命
  • Android 实例 - 分页器封装实现(上一页按钮、下一页按钮、当前页码 / 总页数、每页条数、总记录数)
  • 本地部署AI新选择!LocalAI+cpolar轻松实现隐私安全的远程访问
  • 数据结构:找出字符串中重复的字符(Finding Duplicates in a String)——使用哈希表
  • 一文彻底解释清楚Java 中的NIO、BIO和AIO
  • 记录解决问题--maven本地已有依赖,还是去远程仓库下载,导致打包失败
  • 期权到期会对大盘有什么影响?
  • 本地Linux服务器使用Docker快速部署SyncTV
  • 关于Aop动态代理
  • 线上问题排查之【CPU飙高100%】
  • 深入理解 C++ 中的指针与自增表达式:*a++、(*a)++ 和 *++a 的区别解析
  • spring入门
  • EMBMS1820芯祥科技18单元电池监控器芯片数据手册
  • MySQL二进制包安装
  • OpenAI Codex CLI与 Google Gemini CLI 比较
  • Match宣布2025曼谷发布会,发布“保本”资管新范式,旨在重塑Web3投资规则
  • 【科研绘图系列】R语言绘制棒棒图和哑铃图
  • neuronxcc包介绍及示例代码