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件を見るカナリアリリース
新バージョンを全ユーザーにいきなり公開せず、まず少数(5〜10%)のユーザーにのみ提供してリスクを最小化するリリース手法。問題があれば即座にロールバックできる。
RBAC
Role-Based Access Control(ロールベースアクセス制御)の略。Kubernetesでは、ユーザーやサービスアカウントに対してロールを割り当て、Kubernetes APIへのアクセス権限を細かく制御する仕組み。
APIゲートウェイ
クライアントと複数のバックエンドサービスの間に立つ単一の入口(エントリポイント)。認証・レート制限・ルーティング・ロギング・キャッシュを一元管理し、APIの公開・保護・管理を行う。
Istio
Kubernetesで動作するオープンソースのサービスメッシュ実装。Envoyプロキシをサイドカーとして各Podに注入し、トラフィック管理・セキュリティ・可観測性を提供する。
SLA
Service Level Agreement(サービスレベル合意)の略。サービス提供者と利用者の間で合意するサービス品質の保証内容。SLOと違い、違反時のペナルティや補償を含む契約上の約束。
CircleCI
クラウド型CI/CDプラットフォーム。.circleci/config.ymlにワークフローを定義し、GitHubやBitbucketと連携してパイプラインを実行。並列実行やキャッシュ機能で高速なCIを提供。