IT部に配属されて4か月、新入社員のユウタはKubernetesの運用に四苦八苦していました。
ユウタ:「課長……Kubernetesの設定ファイルを直接触るの、なんだか怖いです。前に間違えて、本番環境が落ちたことがあって……」
課長:「あぁ、それはよくあることだよ。でも、そういうときに頼れるのがGitOps(ギットオプス)なんだ。」
ユウタ:「ギットオプス……Gitと関係あるんですか?」
課長:「大ありだよ。GitOpsでは、Kubernetesの設定やアプリのバージョン管理などをGitリポジトリにコードとして全部書いておく。変更したいときは、Gitでプルリクエストを作ってレビューしてもらう。そしてOKならマージ。すると、自動でKubernetesに反映されるんだ。」
ユウタ:「手動で変えなくていいんですか?」
課長:「そう。Gitに書かれてるものが『正』だから、それ以外は全部チェックされて、自動で戻されたりもする。全部記録に残るし、ミスしても『巻き戻し』も簡単なんだ。」
ユウタ:「すごい……めちゃくちゃ便利ですね。」
課長:「中学生にもわかりやすく伝えるとしたら、『学校のお弁当注文表に“今日はカレー”って書いたら、厨房のロボットがそれを見て自動でカレーを作ってくれるようなもの』なんだ。“やっぱりうどんに変更”って書き直せば、ロボットはうどんを作ってくれるし、注文履歴もちゃんと残る。それがGitOpsの考え方なんだよ。」
ユウタ:「うわぁ、分かりやすい……!現場でそれ、導入しましょう!」
| 用語 | 主な役割 |
|---|---|
| Git | バージョン管理と変更履歴の保存 |
| Kubernetes | コンテナの管理と自動運用 |
| GitOps | Git上の変更を自動でKubernetesに反映する運用手法 |
GitOpsは、特にクラウドネイティブな開発体制を採用する企業で導入が進んでいます。
たとえば、サイボウズでは、複数のサービスやチームが共同で使うクラウド環境の管理を効率化するためにGitOpsを導入。設定の透明性と変更履歴の追跡が容易になり、開発スピードと安定性の両立を実現しています。
また、メルカリではアプリのバージョン管理からリリース運用までをGitOpsで自動化し、障害対応のスピードアップにもつながっています。
国際的にもWeaveworksやRed Hatなどが推進しており、ArgoCDやFluxといったツールを使ったGitOps体制が普及しています。
GitOpsで使われる「Git」は何のために使われる?
A 設定ファイルのバージョン管理と履歴の記録
B サーバのハードディスクを操作するため
C クラウドの料金を節約するため
GitOpsが便利な理由として最も適切なのは?
A 設定をメールで全社員に送れる
B 人間の作業を記録せずにすむ
C 設定の自動反映・履歴管理・巻き戻しができる
GitOpsとTerraformの違いとして正しいのは?
A Terraformは手動運用、GitOpsは自動化運用
B Terraformはインフラ構築、GitOpsは運用フローの管理
C 両方ともGitで運用されていて完全に同じ
クイズ1:A
→ Gitは変更履歴を管理し、誰がいつ何を変えたか記録できます。
クイズ2:C
→ 自動反映・記録・巻き戻しなどがGitOpsの特徴です。
クイズ3:B
→ Terraformは「作る」ためのツール、GitOpsは「管理・運用」する仕組みです。