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 等)。
多步驟部署自動化(服務/應用)。