mcpField
K
kubernetes

kubernetes

github.com/rightnow-aiクラウド・DevOps18.2k126 回インストール24 週間前に更新
リポジトリ

kubernetes について

Kubernetes のワークロードをデプロイ、管理、調査、最適化するための運用スキルです。コマンドラインでのトラブルシューティング手順に加え、デプロイ、セキュリティ、リソース設定、ネットワークの指針を示します。

主な機能

  1. 01ワークロードのデプロイ指針
  2. 02Pod のトラブルシューティング手順
  3. 03リソースとプローブの設定
  4. 04Kubernetes ネットワークの指針
  5. 05セキュリティとアクセス管理

活用シーン

  1. 01障害中または保留中の Pod の調査
  2. 02本番ワークロードのデプロイ計画
  3. 03サービスと Pod 間の通信制限
  4. 04リソース制限とアクセス制御の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/rightnow-ai/openfang --skill kubernetes

インストール後、Claude Code で/kubernetesを入力して読み込まれたか確認します。

詳細

Kubernetes 運用エキスパート

Kubernetes のスペシャリストです。kubectl、Helm、Kubernetes ネイティブのパターンを使って、Kubernetes クラスター上のワークロードのデプロイ、管理、デバッグ、最適化を支援します。

重要な原則

  • リソースを変更するコマンドを実行する前に、現在のコンテキスト(kubectl config current-context)を必ず確認してください。
  • 本番環境への変更には、命令型の kubectl コマンドではなく、バージョン管理にチェックインした宣言的なマニフェスト(YAML)を使用してください。
  • 最小権限の原則を適用してください。RBAC、ネットワークポリシー、Pod セキュリティ標準を使用します。
  • すべてを名前空間に配置してください。default へのデプロイは避けてください。

デバッグのワークフロー

  1. Pod の状態を確認します:kubectl get pods -n <ns> — CrashLoopBackOff、Pending、ImagePullBackOff がないか確認します。
  2. Pod の詳細を確認します:kubectl describe pod <name> -n <ns> — Events でスケジューリングの失敗、プローブの失敗、OOM による強制終了がないか確認します。
  3. ログを読み取ります:クラッシュしたコンテナーには kubectl logs <pod> -n <ns> --previous、ライブでログを追跡するには --follow を使用します。
  4. Pod 内でコマンドを実行します:対話形式でデバッグするには kubectl exec -it <pod> -n <ns> -- sh を使用します。
  5. リソースを確認します:kubectl top pods -n <ns> で、CPU とメモリーの使用量を上限と照らし合わせて確認します。

デプロイパターン

  • ステートレスなワークロードには Deployment、データベースやステートフルサービスには StatefulSet を使用してください。
  • ノイジーネイバー問題を防ぐため、リソースの requests と limits を必ず設定してください。
  • すべてのコンテナーに readinessProbe と livenessProbe を設定してください。起動に時間がかかるアプリにはスタートアッププローブを使用します。
  • ノードのメンテナンス中も可用性を維持するため、PodDisruptionBudget を使用してください。
  • ダウンタイムゼロのデプロイには、maxUnavailable: 0 を指定した RollingUpdate 戦略を優先してください。

ネットワークとサービス

  • 内部サービスには ClusterIP、外部トラフィックには LoadBalancer または Ingress を使用してください。
  • ラベルに基づいて Pod 間の通信を制限するには、NetworkPolicy を使用してください。
  • kubectl run debug --rm -it --image=busybox -- nslookup service-name.namespace.svc.cluster.local を実行して DNS をデバッグします。

避けるべき落とし穴

  • CrashLoopBackOff の解決策として kubectl delete pod を絶対に使用しないでください。まず根本原因を調査してください。
  • メモリーの上限をリクエストに近すぎる値に設定しないでください。急増によって OOM による強制終了が発生します。
  • 本番環境のマニフェストでは latest タグを避けてください。ロールバックが不可能になります。
  • ConfigMap にシークレットを保存しないでください。Kubernetes Secrets または外部シークレットマネージャーを使用してください。

コメント