Upgrade to Pro — share decks privately, control downloads, hide ads and more …

歴史に学ぶGitOpsの姿 / Learning the state of GitOps fr...

Avatar for Yoshiki Fujikane Yoshiki Fujikane
June 20, 2025
84

歴史に学ぶGitOpsの姿 / Learning the state of GitOps from history

2025/06/20 Engineering Productivity Meetup #4
https://cybozu.connpass.com/event/355795/presentation/

Avatar for Yoshiki Fujikane

Yoshiki Fujikane

June 20, 2025
Tweet

Transcript

  1. • 1. Declarative ◦ GitOps によって管理されるシステムでは、望ましい状態を宣言的に表現する必要があり ます。 • 2. Versioned

    and Immutable ◦ 望ましい状態は、不変性とバージョン管理を強制し、完全なバージョン履歴を保持する方 法で保存されます。 • 3. Pulled Automatically ◦ ソフトウェア エージェントは、ソースから必要な状態宣言を自動的に取得します。 • 4. Continuously Reconciled ◦ ソフトウェア エージェントは実際のシステム状態を継続的に観察し、望ましい状態を適 用しようとします。 GitOps Principles
  2. Single Source Of TruthにGitを使う必要性は…? A system for storing immutable versions

    of desired state declarations. This state store should provide access control and auditing on the changes to the Desired State. Git, from which GitOps derives its name, is the canonical example used as this state store but any other system that meets these criteria may be used. 望ましい状態宣言の不変バージョンを保存するシステム。この状態ストアは、望 ましい状態への変更に対するアクセス制御と監査を提供する必要があります。 GitOpsの名前の由来であるGitは、この状態ストアとして使用される標準的な 例ですが、これらの基準を満たす他のシステムも使用できます。 ref: https://github.com/open-gitops/documents/blob/main/GLOSSARY.md#state-store
  3. まとめと考察 まとめ • GitOpsとは、4つの原則で説明できる ◦ Declarative ◦ Versioned and Immutable

    ◦ Pulled Automatically ◦ Continuously Reconciled • 歴史的には「宣言型のIaC」と「Reconciliation Loop」をあわせて実現 • 必ずしもGitを使う必要はない 考察 • GitOpsの本質はGitによらず 「バージョン管理されたimmutableなSingle Source Of Truthに基づく継続的な状態反映」?
  4. 参考 • Home | OpenGitOps https://opengitops.dev/ • Infrastructure as Dataとは何か

    https://deeeet.com/writing/2020/05/11/infrastructure-as-data/ • Level Triggering and Reconciliation in Kubernetes https://hackernoon.com/level-triggering-and-reconciliation-in-kubernetes-1f17fe30333d • Gitless GitOpsとは何か?OCI中心のセキュアな新構成 https://zenn.dev/cadp/articles/gitless-gitops-intro • Ansible Collaborative https://www.redhat.com/en/ansible-collaborative • Perforce Puppet: Infrastructure Automation & Operations at Scale https://www.puppet.com/ • Terraform | HashiCorp Developer https://developer.hashicorp.com/terraform • Kubernetes https://kubernetes.io/ • Managing Kubernetes[Book] https://www.oreilly.com/library/view/managing-kubernetes/9781492033905/ • Flux https://fluxcd.io/ • Argo CD - Declarative GitOps CD for Kubernetes https://argo-cd.readthedocs.io/en/stable/ • PipeCD https://pipecd.dev/ • open-gitops/documents: 📑 Lasting documents from the OpenGitOps project which are versioned and released together (including the GitOps Principles and Glossary) https://github.com/open-gitops/documents