このリポジトリは Google Kubernetes Engine (GKE) インフラの管理を行います。
.
├── gke-version.yaml # GKEバージョン管理
├── check-gke-version.sh # バージョン検証スクリプト
├── terraform/ # Terraformインフラコード
├── .github/workflows/
│ ├── ci.yml # ビルド & デプロイワークフロー
│ └── gke-version-analysis.yml # GKEバージョン分析ワークフロー
└── scripts/ # 運用スクリプト
このプロジェクトでは、GKEバージョンを変更すると自動的にClaude Codeがリリースノートを分析し、影響分析レポートを作成します。
- Claude Code GitHub App にアクセス
- "Install" をクリック
- このリポジトリを選択してインストール
- 以下の権限を付与:
- Contents: Read and write
- Issues: Read and write
- Pull requests: Read and write
- Anthropic Console でAPIキーを取得
- GitHubリポジトリの Settings → Secrets and variables → Actions
- "New repository secret" をクリック
- 以下のシークレットを追加:
- Name:
ANTHROPIC_API_KEY - Value:
sk-ant-...(取得したAPIキー)
- Name:
バージョン検証スクリプトでGCP APIを使用する場合:
- GCPサービスアカウントを作成
- 必要な権限を付与(Kubernetes Engine Viewer)
- Workload Identity Federation を設定
- ワークフローの環境変数を更新
gke-version.yamlを編集してバージョンを変更- 変更をコミットしてプッシュ
- PRを作成
PRを作成すると、以下が自動実行されます:
-
バージョン変更検知
- 変更前後のバージョンを自動抽出
-
リリースノート取得
- Kubernetes公式CHANGELOGをダウンロード
- GKEリリースノートを取得
-
Claude Codeによる分析
- PRに
@claudeメンション付きコメントが投稿される - Claude Codeが以下を分析:
- Breaking Changes
- 非推奨化された機能
- セキュリティアップデート
- プロジェクトへの影響
- 必要なアクション
- PRに
-
バージョン検証
- GKE APIで指定バージョンが利用可能かチェック
## 🔄 GKE Version Change Detected
### Version Changes
- Old Controlplane Version: 1.31.11-gke.1036000
- New Controlplane Version: 1.32.9-gke.1072000
---
@claude 上記のコンテキストとリリースノートを分析して、
このGKEバージョンアップの詳細な影響分析レポートを作成してください。
[Kubernetes Release Notes...]Claude Codeが分析を完了すると、同じPR内に詳細なレポートが返信されます。
ローカルでバージョンを検証する場合:
# スクリプトに実行権限を付与
chmod +x check-gke-version.sh
# バージョンを検証
./check-gke-version.sh出力例:
Checking GKE versions...
Controlplane version: 1.32.9-gke.1072000
Nodes version: 1.32.9-gke.1072000
Fetching available versions from GKE...
Valid versions in REGULAR channel:
1.33.5-gke.1080000
1.33.4-gke.1350000
1.32.9-gke.1072000
1.32.9-gke.1010000
1.31.12-gke.1265000
1.31.12-gke.1220000
✓ Controlplane version 1.32.9-gke.1072000 is valid
✓ Nodes version 1.32.9-gke.1072000 is valid
All versions are valid!
.github/workflows/gke-version-analysis.yml
gke-version.yamlが変更されたPR
-
detect-version-change
- 変更前後のバージョンを検出
- 差分がある場合のみ後続ジョブを実行
-
fetch-release-notes
- Kubernetes CHANGELOGをダウンロード
- GKEリリースノートを取得
- 分析用コンテキストファイルを生成
-
analyze-with-claude
- PRに分析依頼コメントを投稿
@claudeメンションでClaude Codeを起動- リリースノートと分析コンテキストを添付
-
validate-version
- GKE APIでバージョンの利用可能性を検証
- 無効なバージョンの場合はPRをブロック
以下はGitにコミットしないでください:
- Anthropic APIキー
- GCPサービスアカウントキー
- 環境変数ファイル (
.env) - 認証トークン
以下のシークレットが必要です:
ANTHROPIC_API_KEY: Claude API キー(必須)GITHUB_TOKEN: 自動で利用可能(権限設定のみ必要)
-
計画段階
- 新しいバージョンのリリースノートを確認
- Breaking Changesをチェック
- メンテナンスウィンドウを計画
-
テスト環境で検証
- dev環境で先にアップグレード
- アプリケーションの動作確認
- パフォーマンステスト
-
本番環境へのロールアウト
- ロールバック計画を準備
- 段階的にアップグレード
- モニタリング強化
Claude Codeの分析レポートには以下が含まれます:
- 技術的に正確な情報
- 実行可能なアクションアイテム
- 優先度付けされた対応リスト
- テストチェックリスト
これらを参考に、安全なアップグレード計画を立ててください。
- Claude Code GitHub Appがインストールされているか確認
ANTHROPIC_API_KEYが正しく設定されているか確認- APIの利用制限に達していないか確認
- gcloud CLIが正しく設定されているか確認
- GCP認証情報が有効か確認
- 指定したリージョン(asia-northeast1)でバージョンが利用可能か確認
- PRで
gke-version.yamlが変更されているか確認 - ワークフローファイルの構文エラーがないか確認
- GitHub Actionsが有効になっているか確認
改善提案やバグ報告は Issue で受け付けています。