mcpField
G
gke-app-onboarding

gke-app-onboarding

github.com/googlecloudplatformクラウド・DevOps16949 回インストール3 日前に更新
リポジトリ

gke-app-onboarding について

gke-app-onboardingは、Kubernetes未稼働のアプリを初めてGKEへデプロイする開発者や運用担当者向けのスキルです。アプリの評価からコンテナ化、マニフェスト作成、デプロイ確認までを扱います。

主な機能

  1. 01技術スタックと要件の評価
  2. 02Artifact Registryへのイメージ登録
  3. 03Kubernetesリソースマニフェストの作成
  4. 04デプロイとアプリ状態の確認

活用シーン

  1. 01既存アプリの初回GKEデプロイ準備
  2. 02名前空間、プローブ、サービスの設定
  3. 03デプロイ後のPodとサービスの確認

インストール

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

$npx skills add https://github.com/googlecloudplatform/gke-mcp --skill gke-app-onboarding

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

詳細

GKE アプリのオンボーディングスキル

このスキルでは、まだ Kubernetes 上で稼働していないアプリケーションを準備し、初めて GKE にデプロイするためのワークフローを紹介します。

ワークフロー

1. アプリの評価

コンテナ化する前に、アプリケーションの要件を評価します。

  • 言語とフレームワーク:技術スタックを特定します。
  • 依存関係:必要なライブラリとサービスを一覧にします。
  • 構成:アプリの構成方法(環境変数、構成ファイルなど)を確認します。
  • ステートフル性:アプリに永続ストレージ(データベース、ファイルストレージ)が必要かどうかを特定します。
  • ネットワーク:ポートマッピングとプロトコル(HTTP、TCP など)を確認します。
2. コンテナ化

アプリケーションに適したコンテナイメージを作成します。

  • Dockerfile:プロジェクトのルートに Dockerfile を作成します。
  • マルチステージビルド:本番環境のイメージを小さく安全に保つため、マルチステージビルドを推奨します。
  • ロギング:ログを適切に収集できるよう、アプリケーションが stdout と stderr にログを出力することを確認します。
  • 代替手段:Dockerfile を作成せずにコンテナ化と開発ワークフローを自動化する方法として、Cloud Native Buildpacks または Skaffold の利用を検討します。
3. イメージ管理

コンテナイメージをビルドして保存します。

  • ビルド:ローカルまたは CI/CD パイプラインを使用してイメージをビルドします。
  • リポジトリ:イメージを Google Artifact Registry にプッシュします。
  • 脆弱性スキャン:Artifact Registry の自動脆弱性スキャンを有効にし、ベースイメージと依存関係のセキュリティ上の問題を検出します。
4. マニフェストの生成

アプリケーション用の Kubernetes マニフェストを生成します。

  • Namespace:リソースを分離するため、アプリケーション専用の Namespace を作成します。
    • セキュリティ:Pod Security Standards を適用できるよう、Namespace にラベルを付けます(例:pod-security.kubernetes.io/enforce: restricted および pod-security.kubernetes.io/enforce-version: latest)。
  • ServiceAccount:アプリケーション専用の ServiceAccount を作成します。最小権限の原則に従うため、default ServiceAccount の使用は避けてください。
  • Deployment:Deployment マニフェストを作成します。
    • リソースのリクエストと制限を設定します。
    • liveness プローブと readiness プローブを構成します。
    • serviceAccountName フィールドを使用して、専用の ServiceAccount を指定します。
  • Service:Service マニフェストを作成します(例:内部アプリには ClusterIP、外部アクセスには LoadBalancer)。高度な L7 ルーティングには、Gateway API の利用を検討してください。
5. 初回デプロイ

マニフェストを適用し、デプロイを確認します。

  • 適用:kubectl apply -f <manifest-file> を使用します。
  • 確認:kubectl get pods で Pod の状態を確認し、サービスにアクセスできることを確認します。

次のステップ

アプリケーションが稼働したら、gke-productionize スキルを使用して、本番環境への準備状況を評価します。

コメント