OpenClaw Kubernetes 技能指南
管理 Kubernetes 集群、部署和服务。
最后更新: 2026-03-05
快速安装
$ npx clawhub@latest install kubernetes核心功能
OpenClaw Kubernetes 技能概述
Kubernetes 技能 通过 kubectl 和一系列集群管理工具将 OpenClaw 连接到你的 Kubernetes 集群。安装完成后,你的 OpenClaw 智能体可以部署应用、排查 Pod 故障、扩缩工作负载(Workload)、生成清单文件(Manifest)以及执行安全审计 — 所有操作都通过自然语言完成。
Kubernetes 是容器编排(Container Orchestration)的行业标准,但其 CLI 命令体系非常庞大。OpenClaw Kubernetes 技能让你无需记忆数百个 kubectl 子命令和参数。不再需要在终端窗口和文档之间频繁切换上下文,你只需描述需求,智能体就会处理一切。
典型工作流:
- 让 OpenClaw 检查你的生产集群健康状态。
- 智能体在后台运行
kubectl get nodes、kubectl top pods和健康检查脚本。 - 结果以可读的摘要形式返回,附带可操作的建议 — 无需切换上下文。
该技能支持 Kubernetes 1.31+、OpenShift 4.17+ 以及托管服务(Managed Services),包括 Amazon EKS、Azure AKS 和 Google GKE。它与 Docker Essentials 技能天然互补,可组成完整的容器工作流。
Kubernetes 技能安装前的准备
在安装 Kubernetes 技能之前,请确保你已具备:
- 已安装并运行 OpenClaw(v1.0+)
- 已安装 kubectl(v1.20+)— 安装指南
- 一个有效的 kubeconfig 文件,至少指向一个集群
- 已安装 clawhub CLI 用于技能管理
验证你的环境:
# 检查 OpenClaw 版本 openclaw --version # 检查 kubectl 版本 kubectl version --client # 验证集群连通性 kubectl cluster-info # 列出可用的上下文 kubectl config get-contexts
如果 kubectl cluster-info 返回错误,请确保你的 kubeconfig 已正确配置。对于托管集群,请使用云服务商的 CLI 生成凭据(例如 aws eks update-kubeconfig、az aks get-credentials 或 gcloud container clusters get-credentials)。
如何安装 Kubernetes 技能
使用一条命令安装 Kubernetes 技能:
npx clawhub@latest install kubernetes
验证安装结果:
clawhub list
你应该能在已安装技能列表中看到 kubernetes。该技能附带集群健康检查、安全审计、节点维护和清单文件生成的辅助脚本。
Kubernetes 技能配置指南
Kubernetes 技能依赖你现有的 kubeconfig 进行身份验证。无需额外的 API 密钥或令牌 — 只要 kubectl 在你的机器上能正常工作,该技能就能正常使用。
Kubeconfig 配置
该技能默认读取 ~/.kube/config 处的 kubeconfig 文件。如需使用不同的文件或管理多个集群:
# 设置自定义 kubeconfig 路径 export KUBECONFIG=/path/to/your/kubeconfig # 合并多个 kubeconfig 文件 export KUBECONFIG=~/.kube/config:~/.kube/staging-config # 在不同上下文之间切换 kubectl config use-context production-cluster
命名空间限定
为了安全起见,我们建议将技能限定在特定命名空间(Namespace)内操作,而不是授予集群级别的完整访问权限:
# 为当前上下文设置默认命名空间
kubectl config set-context --current --namespace=my-app
# 验证当前活跃的命名空间
kubectl config view --minify --output 'jsonpath={..namespace}'
重要提示: 切勿在生产环境中为该技能授予 cluster-admin 权限。请使用 RBAC 角色,将权限限定在你实际需要的命名空间和资源上。详情请查看下方的安全与最佳实践章节。
Kubernetes 技能使用示例
1. 诊断 Pod 崩溃
你: "payments 命名空间中的 Pod 为什么一直崩溃?"
智能体会运行 kubectl get pods -n payments,识别处于 CrashLoopBackOff 状态的 Pod,使用 kubectl logs 获取日志,并通过 kubectl describe pod 检查事件。它会返回诊断结果,例如"OOMKilled — 容器超出了 256Mi 的内存限制。建议将限制提升至 512Mi。"
2. 扩缩 Deployment
你: "将 staging 环境中的 API Deployment 扩展到 5 个副本。"
智能体会执行 kubectl scale deployment api --replicas=5 -n staging,使用 kubectl rollout status 监控部署进度,并在所有 5 个 Pod 运行且健康后进行确认。
3. 生成生产级清单文件
你: "为一个 Node.js 应用创建 Deployment 清单文件,要求 3 个副本、256Mi 内存限制、健康检查以及一个 ClusterIP Service。"
智能体使用内置的清单生成器生成完整的 YAML 文件,并包含安全默认配置 — 非 root 用户、只读文件系统、资源限制、存活探针(Liveness Probe)和就绪探针(Readiness Probe),以及配套的 Service 定义。
4. 运行安全审计
你: "审计 default 命名空间的安全问题。"
智能体会运行内置的安全审计脚本,检查以 root 身份运行的容器、缺少资源限制的容器、过于宽松的 RBAC 绑定,以及未设置 Pod 安全标准(Pod Security Standards)标签的 Pod。结果以优先级排序的发现列表形式返回,并附带修复步骤。
5. 执行滚动更新
你: "将 web Deployment 的镜像更新到 v2.3.1,并监控部署过程。"
智能体会运行 kubectl set image deployment/web web=myregistry/web:v2.3.1,然后实时监控 kubectl rollout status。如果部署停滞或 Pod 未通过健康检查,它会发出警告并建议使用 kubectl rollout undo 进行回滚。
安全与最佳实践
Kubernetes 操作可能影响正在运行的生产工作负载。请遵循以下准则确保安全:
- 使用最小权限的 RBAC。 创建专用的 ServiceAccount,仅授予所需的权限。日常操作中避免使用
cluster-admin。Kubernetes RBAC 文档 详细介绍了角色的创建方法。 - 限定命名空间范围。 在 kubeconfig 上下文中设置默认命名空间,防止技能意外修改其他命名空间中的资源。
- 执行前先审查。 OpenClaw 在执行删除 Pod、缩容至零或驱逐节点等破坏性操作前会提示你确认。请务必审查提议的变更内容。
- 使用 dry-run 模式。 对于清单文件生成和 apply 操作,该技能支持
--dry-run=client来预览变更,而不会实际影响集群。 - 定期轮换凭据。 如果使用 ServiceAccount 令牌,请设置过期策略。对于托管集群,建议使用云服务商提供的短期凭据。
- 启用审计日志。 配置 Kubernetes 审计日志以追踪通过该技能发起的所有 API 调用。查看安全检查清单了解通用的 OpenClaw 安全指南。
常见错误与故障排除
"error: You must be logged in to the server (Unauthorized)"
你的 kubeconfig 凭据已过期或无效。
# 对于 AWS EKS aws eks update-kubeconfig --name my-cluster --region us-east-1 # 对于 Azure AKS az aks get-credentials --resource-group myRG --name my-cluster # 对于 Google GKE gcloud container clusters get-credentials my-cluster --zone us-central1-a
"error: the server doesn't have a resource type 'deployments'"
API 服务器可能无法访问,或你的 RBAC 权限不足。
- 运行
kubectl cluster-info验证连通性。 - 检查你的角色是否对
apps/v1API 组拥有get、list和watch权限。 - 联系集群管理员检查你的 RoleBinding。
"pod has unbound immediate PersistentVolumeClaims"
Pod 所需的 PersistentVolume 不存在或尚未完成配置。
- 运行
kubectl get pvc -n <namespace>检查声明状态。 - 验证 StorageClass 是否存在:
kubectl get storageclass。 - 对于云服务商,确保 CSI 驱动已安装且存储配额未超限。
常见问题
是的,只要配置了适当的 RBAC 权限限定即可。该技能遵循 OpenClaw 的确认模式 — 删除 Pod、驱逐节点和缩容至零等破坏性操作需要你明确批准后才会执行。我们建议从只读权限开始,仅在需要时对特定命名空间授予写入权限。在连接生产集群之前,请先查看[安全检查清单](/skills#safety)。
[Docker Essentials 技能](/skills/docker-essentials) 管理单个主机上的独立容器 — 构建镜像、运行容器和管理数据卷。Kubernetes 技能则工作在编排层面,管理 Pod、Deployment、Service 以及跨多个节点的集群基础设施。对于在生产环境中运行容器化应用的团队,两个技能互为补充:Docker 用于本地开发,Kubernetes 用于部署和扩缩。
可以。该技能使用你的 kubeconfig 上下文在不同集群之间切换。如果你有 EKS 预发布集群、GKE 生产集群和本地 minikube 实例的上下文,你可以按名称让 OpenClaw 定位到其中任何一个。运行 `kubectl config get-contexts` 查看可用的集群列表,然后告诉智能体要使用哪个上下文。
相关技能
管理 AWS 基础设施(EC2/S3/Lambda 等)。
多步骤部署自动化(服务/应用)。