GitOps とは
Gitリポジトリを通じたインフラ管理
GitOpsは、Gitリポジトリがシステム全体の唯一の真実の情報源となるインフラストラクチャとアプリケーションの管理方法論です。
GitOpsの原則
- 宣言的 — すべてのインフラがコードとして記述される
- バージョン管理 — すべての変更がGitで追跡される
- 自動化 — 変更が自動的に適用される
- 自己修復 — システムが自動的に目標状態に戻る
メリット
- すべての変更の完全な履歴
- 以前のバージョンへの簡単なロールバック
- 組み込みの監査とコンプライアンス
- 新しい開発者のオンボーディングの簡素化
- セキュリティの強化(本番環境への直接アクセスなし)
ツール
- Argo CD — Kubernetes用の人気のGitOpsコントローラー
- Flux — WeaveworksによるGitOpsオペレーター
- Jenkins X — Kubernetes用GitOps付きCI/CD
- Terraform — Infrastructure as Code
ワークフロー
- 開発者がプルリクエストを作成
- コードレビューと自動テスト
- メインブランチにマージ
- GitOpsオペレーターがクラスターを同期
- モニタリングがデプロイ成功を確認