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件を見るELK Stack
Elasticsearch・Logstash・Kibanaの3ツールの組み合わせ。ログの収集(Logstash)・保存・検索(Elasticsearch)・可視化(Kibana)をセットで提供する定番ログ分析基盤。
IT用語: Ansibleとは|サーバー設定を自動化するIaCツール
エージェント不要でSSHを通じてサーバー設定を自動化するAnsibleのPlaybook構文と活用場面を解説。
CI/CD
継続的インテグレーション(CI)と継続的デリバリー/デプロイ(CD)の総称。コードをコミットするたびに自動でビルド・テスト・デプロイを行う開発プロセス。GitHub ActionsやJenkins・CircleCIなどのツールで実現する。
HPA
Horizontal Pod Autoscalerの略。CPU使用率やカスタムメトリクスに基づいてPod数を自動増減するKubernetesの機能。トラフィック増加時に自動でスケールアウトし、コスト最適化と可用性の両立が可能。
Ansible
構成管理・プロビジョニング自動化ツール。YAMLで記述したPlaybookをエージェントレスで実行し、サーバーの設定を一元管理できる。インフラの自動化とべき等性の確保が特徴。
Fluentd
オープンソースのデータ収集・転送ツール(ログアグリゲーター)。各種ソースからログを収集し、Elasticsearch・S3・Splunkへ転送できる。プラグインが豊富でログ基盤構築に広く使われる。