mcpField
K
k8s-manifest-generator

k8s-manifest-generator

github.com/wshobsonクラウド・DevOps41.9k11.3k 回インストール2 週間前に更新
リポジトリ

k8s-manifest-generator について

Kubernetes マニフェストを作成するためのガイドスキルです。一般的なリソースと、セキュリティ、ヘルスチェック、リソース設定などの本番運用の指針を扱います。

主な機能

  1. 01Deployment、Service、ストレージのマニフェスト
  2. 02ConfigMap と Secret による設定
  3. 03リソース制限とヘルスチェック
  4. 04セキュリティコンテキストと命名規則
  5. 05複数環境へのデプロイ指針

活用シーン

  1. 01Deployment と Service の作成
  2. 02アプリ設定とシークレットの構成
  3. 03ステートフルワークロード向けマニフェストの準備

インストール

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

$npx skills add https://github.com/wshobson/agents --skill k8s-manifest-generator

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/
configmap-template.yaml
deployment-template.yaml
service-template.yaml
references/
deployment-spec.md
details.md
service-spec.md

詳細

Kubernetes マニフェストジェネレーター

Deployment、Service、ConfigMap、Secret、PersistentVolumeClaim を含む、本番環境に対応した Kubernetes マニフェストを作成するためのステップバイステップのガイダンスです。

目的

このスキルは、クラウドネイティブのベストプラクティスと Kubernetes の規約に従い、適切に構造化された、安全で本番環境に対応した Kubernetes マニフェストを生成するための包括的なガイダンスを提供します。

このスキルを使用すべき場面

次のような場合にこのスキルを使用してください。

  • 新しい Kubernetes Deployment マニフェストを作成する場合
  • ネットワーク接続のための Service リソースを定義する場合
  • 構成管理のための ConfigMap および Secret リソースを生成する場合
  • ステートフルなワークロードのための PersistentVolumeClaim マニフェストを作成する場合
  • Kubernetes のベストプラクティスと命名規則に従う場合
  • リソース制限、ヘルスチェック、セキュリティコンテキストを実装する場合
  • マルチ環境デプロイメント向けにマニフェストを設計する場合

詳細なパターンと実例

詳細なパターンのドキュメントは references/details.md にあります。上記のナビゲーション層では不十分な場合は、そのファイルを参照してください。

ベストプラクティスのまとめ

  1. 常にリソースの requests と limits を設定する - リソースの枯渇を防ぎます
  2. ヘルスチェックを実装する - Kubernetes がアプリケーションを管理できるようにします
  3. 特定のイメージタグを使用する - 予測不能なデプロイを避けます
  4. セキュリティコンテキストを適用する - 非 root で実行し、ケイパビリティをドロップします
  5. ConfigMap と Secret を使用する - 構成をコードから分離します
  6. すべてにラベルを付ける - フィルタリングと整理が可能になります
  7. 命名規則に従う - 標準的な Kubernetes ラベルを使用します
  8. 適用前に検証する - dry-run と検証ツールを使用します
  9. マニフェストをバージョン管理する - バージョン管理とともに Git に保持します
  10. アノテーションで文書化する - 他の開発者向けにコンテキストを追加します

トラブルシューティング

Pod が起動しない場合:

  • イメージプルエラーを確認する: kubectl describe pod <pod-name>
  • リソースの可用性を確認する: kubectl get nodes
  • イベントを確認する: kubectl get events --sort-by='.lastTimestamp'

Service にアクセスできない場合:

  • セレクターが Pod のラベルと一致しているか確認する: kubectl get endpoints <service-name>
  • Service のタイプとポート構成を確認する
  • クラスター内からテストする: kubectl run debug --rm -it --image=busybox -- sh

ConfigMap/Secret が読み込まれない場合:

  • Deployment 内で名前が一致しているか確認する
  • 名前空間を確認する
  • リソースが存在することを確認する: kubectl get configmap,secret

次のステップ

マニフェストを作成した後は、次のとおりです。

  1. Git リポジトリに保存する
  2. デプロイ用の CI/CD パイプラインを設定する
  3. テンプレート化に Helm または Kustomize の使用を検討する
  4. ArgoCD または Flux で GitOps を実装する
  5. モニタリングと可観測性を追加する

関連スキル

  • helm-chart-scaffolding - テンプレート化とパッケージング用
  • gitops-workflow - 自動デプロイ用
  • k8s-security-policies - 高度なセキュリティ構成用

コメント