IT用語: GitOpsとは|Gitをインフラ・デプロイの唯一の真実として使う手法
Gitリポジトリの状態をインフラの望ましい状態として、差分を自動的に本番環境に反映するGitOpsの仕組みを解説。
GitOpsとは
GitOpsは「Gitリポジトリをインフラ・アプリケーションの望ましい状態の唯一の真実(Single Source of Truth)として使う」運用手法です。Weaveworksが2017年に提唱しました。Pull Request経由で変更をレビューし、マージされると自動的に本番環境に反映されます。
仕組み
- 開発者がインフラ/アプリの変更をGitにPush
- GitOpsエージェント(ArgoCD・Flux等)がGitの状態と本番環境の差分を検知
- 差分を自動的に本番環境に適用(Reconciliation)
GitOpsのメリット
- 監査ログ: すべての変更がGitのコミット履歴に残る
- ロールバック:
git revertで即座に前の状態に戻せる - セキュリティ: 本番環境へのSSH直接アクセスが不要
KubernetesクラスタとArgoCDを組み合わせた構成が最もよく使われます。
関連する用語 (DevOps)
全58件を見るConfigMap
Kubernetesで設定値(接続先URLや設定パラメーター等)をコンテナから分離して管理するリソース。環境ごとに異なる設定を外出しにすることで、同一イメージを複数環境で使い回せる。
ArgoCD
Kubernetesのための宣言的GitOps継続デリバリーツール。Gitリポジトリ上のマニフェストと実際のK8sクラスタの状態を常に同期させる。変更を検知して自動でデプロイする。
フィーチャーフラグ(機能フラグ)
コードのデプロイとは独立して機能のオン/オフを切り替えられる仕組み。段階的ロールアウト・A/Bテスト・カナリアリリース・緊急無効化をコードの再デプロイなしに実現する。
Secret
Kubernetesでパスワード・APIキー・TLS証明書などの機密情報を管理するリソース。Base64エンコードで保存され、Podへのマウントや環境変数での参照が可能。本番ではVault等の外部シークレット管理との連携が推奨される。
ELK Stack
Elasticsearch・Logstash・Kibanaの3ツールの組み合わせ。ログの収集(Logstash)・保存・検索(Elasticsearch)・可視化(Kibana)をセットで提供する定番ログ分析基盤。
IT用語: カオスエンジニアリングとは|意図的に障害を起こして耐障害性を高める
本番環境に意図的な障害を注入しシステムの弱点を発見するカオスエンジニアリングの概念とChaos Monkeyを解説。