OpenClaw
DevOps 与云推荐

OpenClaw Kubernetes 技能指南

管理 Kubernetes 集群、部署和服务。

最后更新: 2026-03-05

快速安装

$ npx clawhub@latest install kubernetes

核心功能

使用自然语言部署和管理 Pod、Service 和 Deployment
自动诊断 Pod 崩溃并分析容器日志
安全地扩缩 Deployment 并执行滚动更新
生成带有安全默认配置的生产级清单文件
运行安全审计并实施 Pod 安全标准
跨 EKS、AKS 和 GKE 管理多集群操作

OpenClaw Kubernetes 技能概述

Kubernetes 技能 通过 kubectl 和一系列集群管理工具将 OpenClaw 连接到你的 Kubernetes 集群。安装完成后,你的 OpenClaw 智能体可以部署应用、排查 Pod 故障、扩缩工作负载(Workload)、生成清单文件(Manifest)以及执行安全审计 — 所有操作都通过自然语言完成。

Kubernetes 是容器编排(Container Orchestration)的行业标准,但其 CLI 命令体系非常庞大。OpenClaw Kubernetes 技能让你无需记忆数百个 kubectl 子命令和参数。不再需要在终端窗口和文档之间频繁切换上下文,你只需描述需求,智能体就会处理一切。

典型工作流:

  1. 让 OpenClaw 检查你的生产集群健康状态。
  2. 智能体在后台运行 kubectl get nodeskubectl top pods 和健康检查脚本。
  3. 结果以可读的摘要形式返回,附带可操作的建议 — 无需切换上下文。

该技能支持 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 用于技能管理

验证你的环境:

bash
# 检查 OpenClaw 版本
openclaw --version

# 检查 kubectl 版本
kubectl version --client

# 验证集群连通性
kubectl cluster-info

# 列出可用的上下文
kubectl config get-contexts

如果 kubectl cluster-info 返回错误,请确保你的 kubeconfig 已正确配置。对于托管集群,请使用云服务商的 CLI 生成凭据(例如 aws eks update-kubeconfigaz aks get-credentialsgcloud container clusters get-credentials)。

如何安装 Kubernetes 技能

使用一条命令安装 Kubernetes 技能:

bash
npx clawhub@latest install kubernetes

验证安装结果:

bash
clawhub list

你应该能在已安装技能列表中看到 kubernetes。该技能附带集群健康检查、安全审计、节点维护和清单文件生成的辅助脚本。

Kubernetes 技能配置指南

Kubernetes 技能依赖你现有的 kubeconfig 进行身份验证。无需额外的 API 密钥或令牌 — 只要 kubectl 在你的机器上能正常工作,该技能就能正常使用。

Kubeconfig 配置

该技能默认读取 ~/.kube/config 处的 kubeconfig 文件。如需使用不同的文件或管理多个集群:

bash
# 设置自定义 kubeconfig 路径
export KUBECONFIG=/path/to/your/kubeconfig

# 合并多个 kubeconfig 文件
export KUBECONFIG=~/.kube/config:~/.kube/staging-config

# 在不同上下文之间切换
kubectl config use-context production-cluster

命名空间限定

为了安全起见,我们建议将技能限定在特定命名空间(Namespace)内操作,而不是授予集群级别的完整访问权限:

bash
# 为当前上下文设置默认命名空间
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-adminKubernetes 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 凭据已过期或无效。

bash
# 对于 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 权限不足。

  1. 运行 kubectl cluster-info 验证连通性。
  2. 检查你的角色是否对 apps/v1 API 组拥有 getlistwatch 权限。
  3. 联系集群管理员检查你的 RoleBinding。

"pod has unbound immediate PersistentVolumeClaims"

Pod 所需的 PersistentVolume 不存在或尚未完成配置。

  1. 运行 kubectl get pvc -n <namespace> 检查声明状态。
  2. 验证 StorageClass 是否存在:kubectl get storageclass
  3. 对于云服务商,确保 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` 查看可用的集群列表,然后告诉智能体要使用哪个上下文。

相关技能

Docker Essentials
推荐

构建、运行和管理 Docker 容器与镜像。

查看指南
AWS Infra
推荐

管理 AWS 基础设施(EC2/S3/Lambda 等)。

Deploy Agent
谨慎

多步骤部署自动化(服务/应用)。

在 ClawHub 安装返回技能目录