☰
Orchard 本地 Kubernetes 集群一键创建指南:k8s 插件与 kubectl 配置实战
2026/10/12 0:18:30 网站建设 项目流程

【免费下载链接】orchard

The native UI for Apple Containers and (o)MLX sandboxes, written in swift as a replacement for docker desktop

项目地址:https://gitcode.com/gh_mirrors/orchard7/orchard
点击查看免费下载

Orchard 是一款 macOS 原生应用,基于 Apple container 技术,为 Docker Desktop 用户提供替代方案。通过内置的 k8s 插件,你可以在 Orchard 里一键创建本地 Kubernetes 集群,并自动完成 kubectl 配置——无需手动编辑 kubeconfig,无需折腾端口映射。

📋 准备工作:安装 Orchard 与 k8s 插件

开始之前,确认你的环境满足以下要求:

项目要求
操作系统macOS 26 (Tahoe)
Apple container1.5.0(k8s 插件自 1.2.2 起随附)
安装方式Homebrew 或官方 Release 下载

通过 Homebrew 一键安装 Orchard:

brew install orchard

💡 集群功能依赖 Apple container 自带的k8s插件。如果你的 container 版本过旧(1.2.2 之前),Orchard 会在 Clusters 页面显示 "Kubernetes Plugin Not Installed" 提示并引导你升级,不会让你盲目操作。

🚀 一键创建本地 K8s 集群:完整步骤

1. 打开创建集群对话框

在 Orchard 侧边栏点击K8s Clusters,再点中间的+按钮(或空列表中的 "Create Cluster" 按钮),弹出创建面板。

2. 配置集群参数

面板提供 4 组核心选项:

  • Name(集群名称):默认k8s-dev,只支持小写字母、数字和连字符。这个名字会直接成为 control-plane 容器的 ID
  • Override resource defaults(资源覆盖,可选):关闭时由运行时自动决定;打开后可指定 CPUs 和内存(GB),面板会显示你 Mac 的可用上限
  • Kubernetes Version(版本选择):
    • Recommended(推荐):k8s 插件自带并经过测试的kindest/node节点镜像
    • 其他版本:自动拉取 1.31 及以上各小版本最新补丁的kindest/node列表
    • Custom Image:手动填写完整镜像引用,如docker.io/kindest/node:v1.34.11(必须带 tag,container 1.5.0 从 tag 读取 K8s 版本,无 tag 会被拒绝)
  • Advanced → CNI Manifest(可选):选择自定义 CNI 清单文件(yaml/json),替代默认的 kindnet。注意 CNI 必须与集群的 pod 子网匹配,否则集群将无法就绪

3. 点击 Create Cluster 开始创建

创建过程会依次进行:

  1. 首次使用时拉取kindest/node节点镜像
  2. 通过 kubeadm 引导 control-plane

⏱️预计耗时数分钟,创建过程中按钮显示 "Creating…" 并伴随进度指示,集群就绪后自动出现在列表中,无需手动刷新。

集群就绪后,节点信息、角色和实时资源用量一目了然:

⚙️ kubectl 配置实战:3 个按钮搞定

集群创建完成后,Orchard 提供 3 个一键操作(位于详情页顶部按钮区或右键菜单):

Write Kubeconfig

把集群的 context 写入或合并进你的 kubeconfig(默认路径~/.kube/config)。context 以 control-plane 容器命名,多个集群可共存、随时切换。点击后按钮短暂显示 "Kubeconfig ✓" 表示写入成功。

Copy Kubeconfig Path

一键复制 kubeconfig 文件路径到剪贴板,方便在脚本或工具中引用。

Terminal (kubectl):最推荐的方式 ⭐

点击后自动打开终端,并预先执行kubectl config use-context <集群名>,直接把你带入已选中的集群上下文——如果切换失败(比如 kubeconfig 尚未写入)会明确报错,而不是静默留在旧集群上。接着运行kubectl get nodes即可验证:

# Orchard 在终端中已自动执行: kubectl config use-context k8s-dev && exec ${SHELL:-/bin/zsh} # 验证集群节点 kubectl get nodes

部署工作负载仍然使用你熟悉的工具:kubectl、k9s、Lens——Orchard 交付配置好的 context,然后退居幕后。

📊 集群详情与节点监控

点击集群列表中的条目进入详情页,可以看到:

  • Resource Usage:CPU、Memory、Network、Disk 四条时间线图表,支持 5m / 15m / 1h / 24h 时间窗口切换
  • Nodes 表格:每个节点的 role(control-plane / worker)、状态、IP、CPU 数、内存、发布端口
  • 交叉跳转:点击节点名直接跳到 Containers 页签查看对应容器;容器列表中 k8s 节点带有 "k8s · control-plane" 徽标,两个视图双向联动

当前限制说明:

  • k8s 插件目前只创建单节点集群——control-plane 节点同时运行工作负载,worker 节点支持仍在上游开发中
  • container 1.5.0 移除了container k8s start,已停止的集群无法重启,只能删除后重建;Orchard 的 Recreate 操作会保留你原来的创建配置,省去重新填写

🐳 把本地镜像加载进集群

用 Orchard 构建或拉取的镜像,可以通过详情页的Load Image…按钮直接加载到集群的 containerd 中——镜像从本地存储导出并导入集群节点,Pod 无需 registry 即可直接引用。

❓ 常见问题速答

问题解决方案
提示 "Kubernetes Plugin Not Installed"升级 Apple container 到 1.2.2 以上,页面自带升级指引链接
创建失败出现 "node prep failed"节点准备阶段(sysctl/网络配置)异常,删除集群后重试
如何切换集群在 Terminal (kubectl) 打开的终端中运行kubectl config use-context <其他集群名>
集群名称重复被拒绝集群名即 control-plane 容器 ID,不可重复,请换一个名字

📁 相关源码参考

想深入了解实现细节,可以阅读这些文件:

  • 集群生命周期核心服务:ClusterService.swift
  • 节点镜像版本目录(kindest/node):K8sNodeImages.swift
  • 创建集群界面:CreateCluster.swift
  • 集群列表与右键菜单:ListClusters.swift
  • 集群详情页:ClusterDetail.swift
  • 功能总览:README.md

总结

Orchard 让在 Mac 上运行本地 Kubernetes 集群变得前所未有地简单:

  1. 安装:brew install orchard+ 保持 Apple container 为最新版
  2. 创建:K8s Clusters 页签 → + → 填名字 → 选版本 → Create
  3. 配置 kubectl:Write Kubeconfig,或直接用 Terminal (kubectl) 一键进入已选中的上下文
  4. 日常使用:加载本地镜像、监控节点资源、用 kubectl / k9s / Lens 部署工作负载

从安装到kubectl get nodes看到 Ready 状态,全程不超过 10 分钟。🎉

【免费下载链接】orchard

The native UI for Apple Containers and (o)MLX sandboxes, written in swift as a replacement for docker desktop

项目地址:https://gitcode.com/gh_mirrors/orchard7/orchard
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询