OpenClaw
DevOps 與雲推薦

OpenClaw 的 Kubernetes 技能

管理 Kubernetes 叢集、部署和服務。

最後更新: 2026-03-05

快速安裝

$ npx clawhub@latest install kubernetes

核心功能

使用自然語言部署和管理 Pod、Service 和 Deployment
自動診斷 Pod 當機並分析容器日誌
安全地擴展 Deployment 並執行滾動更新
產生具備安全預設值的生產級 Manifest
執行安全稽核並強制實施 Pod 安全標準
跨 EKS、AKS 和 GKE 管理多叢集操作

OpenClaw Kubernetes 技能概覽

Kubernetes 技能透過 kubectl 和一系列叢集(Cluster)管理工具將 OpenClaw 連接到您的 Kubernetes 叢集。安裝後,您的 OpenClaw 代理程式可以部署應用程式、排除 Pod 故障、擴展工作負載、產生 Manifest,以及執行安全稽核——全部透過自然語言指令完成。

Kubernetes 是容器編排(Container Orchestration)的業界標準,但其 CLI 涵蓋的指令範圍極為龐大。OpenClaw Kubernetes 技能讓您無需記憶數百個 kubectl 子指令和參數。您不再需要在終端視窗和文件之間不斷切換,只需描述您的需求,代理程式便會為您處理一切。

典型工作流程:

  1. 要求 OpenClaw 檢查您生產叢集的健康狀態。
  2. 代理程式在背景執行 kubectl get nodeskubectl top pods 和健康檢查腳本。
  3. 結果以可讀的摘要形式回傳,附帶可操作的建議——無需切換上下文。

此技能支援 Kubernetes 1.31+、OpenShift 4.17+,以及託管服務,包括 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。此技能內建了叢集健康檢查、安全稽核、節點維護和 Manifest 產生等輔助腳本。

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. 產生生產級 Manifest

你:「為一個 Node.js 應用程式建立 Deployment Manifest,需要 3 個副本、256Mi 記憶體限制、健康檢查和一個 ClusterIP Service。」

代理程式使用內建的 Manifest 產生器產出完整的 YAML 檔案,並附帶安全預設值——非 root 使用者、唯讀檔案系統、資源限制、存活探針(Liveness Probe)和就緒探針(Readiness Probe),以及對應的 Service 定義。

4. 執行安全稽核

你:「稽核 default 命名空間中的安全問題。」

代理程式執行內建的安全稽核腳本,檢查以 root 身分執行的容器、缺少資源限制、過於寬鬆的 RBAC 綁定,以及缺少 Pod 安全標準標籤的 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 模式。**對於 Manifest 產生和 apply 操作,此技能支援 --dry-run=client 以預覽變更而不影響叢集。
  • **定期輪換憑證。**如果使用 Service Account 權杖,請設定到期策略。對於託管叢集,請依賴雲端供應商提供的短期憑證。
  • **啟用稽核日誌。**設定 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 安裝返回技能目錄