gke-app-onboarding について
gke-app-onboardingは、Kubernetes未稼働のアプリを初めてGKEへデプロイする開発者や運用担当者向けのスキルです。アプリの評価からコンテナ化、マニフェスト作成、デプロイ確認までを扱います。
主な機能
- 01技術スタックと要件の評価
- 02Artifact Registryへのイメージ登録
- 03Kubernetesリソースマニフェストの作成
- 04デプロイとアプリ状態の確認
活用シーン
- 01既存アプリの初回GKEデプロイ準備
- 02名前空間、プローブ、サービスの設定
- 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)。
- セキュリティ:Pod Security Standards を適用できるよう、Namespace にラベルを付けます(例:
- ServiceAccount:アプリケーション専用の
ServiceAccountを作成します。最小権限の原則に従うため、defaultServiceAccount の使用は避けてください。 - 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 スキルを使用して、本番環境への準備状況を評価します。
コメント
Markdown 対応