Skip to content

KubernetesマニフェストをClaudeと書く

Kubernetesのマニフェストは覚えるべき項目が多く、慣れないうちはエラーの原因特定に時間がかかりがちです。Claude Codeを活用すれば、設計から検証・デバッグまでをスムーズに進められます。本記事では具体的な使い方を紹介します。

マニフェストの雛形をプロンプトで生成する

Section titled “マニフェストの雛形をプロンプトで生成する”

まずはClaudeに要件を伝えて雛形を生成しましょう。ターミナルでClaude Codeを起動し、次のように入力します。

Nginxをデプロイするための最小構成のKubernetesマニフェストを作成してください。
Deployment・Service・Ingressの3つを1つのYAMLファイルにまとめ、
レプリカ数は2、ポートは80で設定してください。

Claudeは適切なapiVersionselectorのラベル対応、pathType: Prefixなどのベストプラクティスを踏まえたYAMLを生成します。自分でゼロから書くよりも格段に速く、記述ミスも減らせます。

プロンプト: AIへの指示文。Claude Codeへの指示の質がそのまま出力の質に影響する。デプロイ: 開発したコードを本番サーバーに公開・適用すること。

環境変数の外部化はk8s運用の基本ですが、ConfigMapとDeploymentの参照設定は構文が煩雑です。Claudeに任せましょう。

# Claudeが生成したConfigMapとenvFromの例
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
APP_ENV: "production"
LOG_LEVEL: "info"
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 2
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: my-app:latest
envFrom:
- configMapRef:
name: app-config

「ConfigMapの値をDeploymentでenvFromを使って全件参照する形にしてください」と伝えるだけで、上記のような正確な構成を出力してくれます。

環境変数: APIキーやデータベース接続情報など、コードに直接書きたくない値をOSやサーバーに設定する仕組み。

エラーメッセージを貼り付けてデバッグする

Section titled “エラーメッセージを貼り付けてデバッグする”

kubectl applykubectl describeで出たエラーはそのままClaudeに貼り付けましょう。

Terminal window
kubectl describe pod my-app-xxxx | pbcopy
# コピーした内容をClaudeに貼り付けて「このエラーの原因と修正方法を教えてください」と入力

たとえばImagePullBackOffCrashLoopBackOffのログを貼ると、Claudeは原因の候補を列挙し、マニフェストの修正案まで提示します。自分でドキュメントを検索する時間を大幅に短縮できます。

Claude Codeをk8sの作業に組み込むことで、マニフェスト作成・設定管理・デバッグのすべてのフェーズで生産性を高められます。ぜひ日常のクラスタ運用に取り入れてみてください。