GitOps with Fleet: When Rancher Meets Continuous Delivery
GitOps: A Philosophy and Framework for Operational Excellence
At its core, GitOps is built on the principle of immutable truth, where Git serves as the single source of truth for declarative configuration and desired state. Protecting this truth from drift and guaranteeing its continuous reconciliation with the actual state of the system is the primary goal of GitOps.
Before diving into the technical aspects of GitOps, it's essential to understand these key concepts:
- The declarative configuration
- The desired state
- The drift
The first is a method of specifying what the final state of a system should be, without defining the steps to achieve it. Systems like Kubernetes and most Cloud Native tools use this type of configuration as opposed to the imperative way (e.g., scripts) that define the exact steps to reach a desired state.
The second refers to the ideal configuration or condition of a system as defined in these declarations. A state that was codified, tested, reviewed, and versioned as artifacts and final outputs. Automation tools continuously monitor this state as it's the benchmark for the system's health.
A system is considered healthy when its actual state matches the desired state; otherwise, a drift is considered to have occurred.
Technically, GitOps operationalizes these ideals by integrating Git repositories with automation tools to manage changes in infrastructure and applications. Using pull-based automation, it ensures that any drift from the desired state is identified and reconciled by deploying changes in a controlled, auditable manner.
Not only does GitOps provide a robust mechanism for managing drift, but it also offers a way to upgrade, rollback, and audit changes to the system with ease. The definition of "the normal state" is codified in Git, and the system is continuously reconciled to this state.
End-to-End Kubernetes with Rancher, RKE2, K3s, Fleet, Longhorn, and NeuVector
The full journey from nothing to productionEnroll now to unlock all content and receive all future updates for free.
