GitOps
ぎっとおぷす
English: GitOps
意味
GitOps(ギットオプス)とは、インフラやアプリケーションの設定をすべてGitで管理し、Gitへの変更(プルリクエストなど)をトリガーにして、自動的に本番環境へ反映(デプロイ)する運用手法。Kubernetes環境などで採用され、運用の信頼性と追跡可能性を高める。
概要
Weaveworks社が提唱した、Kubernetesなどのインフラの運用手法。 「Git(バージョン管理ツール)のリポジトリにある設定ファイル」を「正(Single Source of Truth)」とし、それを自動的にインフラ環境に反映(同期)させる仕組み。
仕組み
- 開発者が、マニフェストファイル(設定)を書き換えてGitにプッシュする。
- 同期ツール(Argo CDなど)が変更を検知する。
- ツールが、実際のクラスター(本番環境)の状態を、Gitの状態と一致させる。
メリット
- 履歴管理: 「いつ誰が何を変えたか」がGitの履歴に残る。
- 切り戻し: 障害が起きても、Git上で以前のバージョンに戻す(Revert)だけで、インフラも一瞬で元通りになる。
- セキュリティ: 開発者が本番サーバーのSSH鍵を持つ必要がないため、権限管理が楽になる。