OpenClaw
DevOps & クラウド推奨

OpenClaw Kubernetes スキルガイド

Kubernetes クラスタ、デプロイメント、サービスを管理。

最終更新: 2026-03-05

クイックインストール

$ npx clawhub@latest install kubernetes

主な機能

自然言語で Pod、Service、Deployment をデプロイ・管理
Pod のクラッシュ診断とコンテナログの自動分析
Deployment のスケーリングとローリングアップデートを安全に実行
セキュリティデフォルト付きの本番環境向けマニフェストを生成
セキュリティ監査の実行と Pod Security Standards の適用
EKS、AKS、GKE にまたがるマルチクラスタ操作の管理

OpenClaw Kubernetes スキル概要

Kubernetes スキル は、kubectl とクラスタ管理ユーティリティ一式を通じて、OpenClaw を Kubernetes クラスタに接続します。インストールすると、OpenClaw エージェントがアプリケーションのデプロイ、Pod 障害のトラブルシューティング、ワークロードのスケーリング、マニフェストの生成、セキュリティ監査の実行を、すべて自然言語のコマンドで行えるようになります。

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+) — インストールガイド
  • 少なくとも 1 つのクラスタを指す有効な 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 スキルのインストール方法

1 つのコマンドで Kubernetes スキルをインストール:

bash
npx clawhub@latest install kubernetes

インストールを確認:

bash
clawhub list

インストール済みスキルの一覧に kubernetes が表示されるはずです。このスキルには、クラスタヘルスチェック、セキュリティ監査、ノードメンテナンス、マニフェスト生成のためのヘルパースクリプトがバンドルされています。

Kubernetes スキルの設定

Kubernetes スキルは、認証に既存の kubeconfig を使用します。追加の API キーやトークンは不要です — マシン上で kubectl が動作すれば、スキルも動作します。

Kubeconfig のセットアップ

スキルはデフォルトの kubeconfig(~/.kube/config)を読み取ります。別のファイルを使用したり、複数のクラスタを管理するには:

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 をスケーリングする

あなた: 「ステージング環境の API Deployment を 5 レプリカにスケーリングして。」

エージェントが kubectl scale deployment api --replicas=5 -n staging を実行し、kubectl rollout status でロールアウトを監視し、5 つの Pod がすべて正常に稼働していることを確認します。

3. 本番環境向けマニフェストを生成する

あなた: 「3 レプリカ、256Mi メモリ制限、ヘルスチェック、ClusterIP Service を持つ Node.js アプリの Deployment マニフェストを作成して。」

エージェントが組み込みのマニフェストジェネレーターを使用して、セキュリティデフォルト(非 root ユーザー、読み取り専用ファイルシステム、リソース制限、Liveness および Readiness プローブ)と対応する Service 定義を含む完全な YAML ファイルを生成します。

4. セキュリティ監査を実行する

あなた: 「default 名前空間のセキュリティ問題を監査して。」

エージェントがバンドルされたセキュリティ監査スクリプトを実行し、root で実行されているコンテナ、リソース制限の欠如、過度に許可された RBAC バインディング、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=client をサポートしており、クラスタに影響を与えずに変更をプレビューできます。
  • 認証情報を定期的にローテーションする。 サービスアカウントトークンを使用している場合は、有効期限ポリシーを設定してください。マネージドクラスタでは、有効期間の短いクラウドプロバイダー認証情報を使用してください。
  • 監査ログを有効にする。 スキルを通じて行われたすべての API 呼び出しを追跡するために、Kubernetes 監査ログを設定してください。一般的な 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 でインストールスキル一覧に戻る