🎯 レッスンの目的__HTMLTAG_68___
- ✅ GitOps の原則とワークフローを理解する
- ✅ ArgoCD アーキテクチャ: コンポーネント、同期フロー
- ✅ Kubernetes に ArgoCD HA をインストール__HTMLTAG_75___
- ✅ Git リポジトリと SSH キーを構成する
- ✅ RBAC と SSO の統合
- ✅ ArgoCD と FluxCD の比較
パート 1: GITOPS の原則
コードブロック_0
GitOps の基本原則:
- 宣言的: Git で記述された望ましい状態
- バージョン付き: Git 履歴 = デプロイメント履歴
- 自動: 変更は自動適用 (または承認)
- 自己修復: ドリフト検出 + 自動修正
| 機能 | ArgoCD | FluxCD |
|---|---|---|
| アーキテクチャ | 集中型 (UI + API) | 分散型 (クラスターごと) |
| UI | リッチ Web UI | CLI のみ (+ Weave GitOps UI) |
| マルチクラスター | ネイティブ (単一ペイン)_ | クラスターごとのエージェント_ |
| Helm サポート | はい (テンプレートのレンダリング) | はい (HelmRelease CRD) |
| _カスタマイズ | はい | はい (ネイティブ) |
| RBAC | 組み込み、プロジェクトごと | K8s RBAC_ |
| SSO | OIDC、SAML、LDAP | K8s 認証経由_ |
| 最適な用途 | 集中プラットフォーム チーム_ | 分散チーム_ |
パート 2: ARGOCD アーキテクチャ
コードブロック_1
パート 3: ARGOCD HA
のインストールコードブロック_2
3.1. ArgoCD 値 (実稼働)
___コードブロック_3___コードブロック_4
パート 4: ARGOCD アプリケーションの作成
コードブロック_5
4.1. ArgoCD プロジェクト
___コードブロック_6___パート 5: アプリケーションセット (複数アプリの生成)
コードブロック_7
パート 6: 通知
コードブロック_8
💡 重要なポイント
- GitOps: Git はインフラストラクチャの信頼できる唯一の情報源
- ArgoCD: 宣言型 CD、自動同期、ドリフト検出、リッチ UI
- HA インストール: コントローラー、サーバー、リポジトリ サーバーの 2 つ以上のレプリカ
- プロジェクト: RBAC 境界、チームごとのリポジトリ/名前空間の制限
- ApplicationSet: テンプレートから数百のアプリを生成
- 自己修復: kubectl の手動変更を自動で元に戻す
🎯 演習
演習 1: ArgoCD のセットアップ
- ArgoCD HA のインストール
- Git リポジトリを追加し、プロジェクトを作成
- ArgoCD アプリケーション経由でサンプル アプリをデプロイ
- 展開を手動で編集 → 自己修復を確認
演習 2: アプリケーションセット
- ディレクトリベースのアプリケーションセットの作成
- 新しいサービスの追加 → 自動検出と展開
📚 次の投稿
__HTMLTAG_241___レッスン 29: マイクロサービスの Helm チャート — テンプレート、値、依存関係 では、マイクロサービス スタック全体で再利用可能な Helm チャートを構築します。