OpenClaw 的 Kubernetes 技能
管理 Kubernetes 叢集、部署和服務。
最後更新 : 2026-03-05
快速安裝
$
npx clawhub@latest install kubernetes
核心功能
OpenClaw Kubernetes 技能概覽
Kubernetes 技能
透過
kubectl
和一系列叢集(Cluster)管理工具將 OpenClaw 連接到您的 Kubernetes 叢集。安裝後,您的 OpenClaw 代理程式可以部署應用程式、排除 Pod 故障、擴展工作負載、產生 Manifest,以及執行安全稽核——全部透過自然語言指令完成。
Kubernetes 是容器編排(Container Orchestration)的業界標準,但其 CLI 涵蓋的指令範圍極為龐大。OpenClaw Kubernetes 技能讓您無需記憶數百個
kubectl
子指令和參數。您不再需要在終端視窗和文件之間不斷切換,只需描述您的需求,代理程式便會為您處理一切。
典型工作流程:
- 要求 OpenClaw 檢查您生產叢集的健康狀態。
-
代理程式在背景執行
kubectl get nodes、kubectl top pods和健康檢查腳本。 - 結果以可讀的摘要形式回傳,附帶可操作的建議——無需切換上下文。
此技能支援 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 以進行技能管理
驗證您的設定:
# 檢查 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
。此技能內建了叢集健康檢查、安全稽核、節點維護和 Manifest 產生等輔助腳本。
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. 產生生產級 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-admin。 Kubernetes 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 憑證已過期或無效。
# 針對 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 等)。
多步驟部署自動化(服務/應用)。