Orbstack 本地 Kubernetes 环境管理。当用户需要在 macOS 上使用本地 Kubernetes 集群进行开发测试、需要配置 kubectl 访问本地集群、需要调试 Kubernetes 资源或排查集群问题时使用此 skill。
本 skill 涵盖使用 Orbstack 作为本地 Kubernetes 开发环境的配置、使用方法和常见操作。
Orbstack 是 macOS 上的轻量级容器和 Kubernetes 运行环境,相比 Docker Desktop 和 Minikube:
*.orb.local 自动解析到服务| 命令 | 说明 |
|---|---|
orb start k8s | 启动 Kubernetes 集群 |
orb stop k8s |
| 停止 Kubernetes 集群 |
orb delete k8s | 删除 Kubernetes 集群 |
orb status | 查看 Orbstack 状态 |
orb update | 更新 Orbstack |
# 查看当前上下文
kubectl config current-context
# 切换到 Orbstack 集群
kubectl config use-context orbstack
# 查看所有上下文
kubectl config get-contexts
# 设置默认命名空间
kubectl config set-context --current --namespace=default
# 查看集群节点
kubectl get nodes -o wide
# 查看集群版本
kubectl version
# 查看集群信息
kubectl cluster-info
方式 1: ClusterIP + kubectl proxy
# 本地端口转发
kubectl port-forward svc/my-service 8080:80
# 在另一个终端访问
curl http://localhost:8080
方式 2: LoadBalancer (自动分配)
# Orbstack 自动为 LoadBalancer 服务分配 IP
kubectl get svc
# NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
# my-service LoadBalancer 10.43.123.45 192.168.215.5 80:30080/TCP
# 直接访问
# curl http://192.168.215.5
方式 3: NodePort
# 使用节点的 IP 和 NodePort
kubectl get nodes -o wide
# NAME STATUS EXTERNAL-IP
# orbstack Ready 192.168.215.2
# 访问 NodePort 服务
# curl http://192.168.215.2:30080
方式 4: Ingress + orb.local 域名
# 创建 Ingress 资源
# 自动解析为 service-name.namespace.orb.local
curl http://my-service.default.orb.local
Orbstack 支持 *.orb.local 自动解析:
# 服务默认域名格式
<service-name>.<namespace>.orb.local
# 示例
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80
# 访问
curl http://nginx.default.orb.local
# 查看默认存储类
kubectl get storageclass
# Orbstack 默认提供 hostpath 存储类
# NAME PROVISIONER
default (default) rancher.io/local-path
cat <<EOF | kubectl apply -f -
apiVersion: v1