A way to do cluster management and application delivery automatically with no operations input without losing control gateways, such as signoff processes.

Key benefits of GitOps

Increased Productivity
Speeds up Mean Time to Deployment as no one has to log in to do an application deployment

Enhanced Developer Experience
Push code and not containers.

Improved Stability
Since the git repository is the source of truth for the system, at any time we can see the intended state of the system by scanning the git repository

Higher Reliability
Because your entire system is described in Git you have
– capability to revert/rollback and fork, you have stable and reproducible rollbacks
– a single source of truth from which to recover after a meltdown, reducing your mean time to recovery (MTTR).

Consistency and Standardisation
One model for making infrastructure, apps and Kubernetes add-on changes

Stronger Security Guarantees
Strong correctness and security guarantees, backed by the strong cryptography used to track and manage changes is key to a secure definition of the desired state of the cluster. 

Pull Model
Since our system is declared as code and maintained in Git, the consequent principle to follow is that all changes that need to be made, are be done so through a pull request which implies workflow

Decoupled
Pull model decouples from delivery pipelines and has the benefit of an inherited security

GitOps Tools

Flux

Polls Git for changes.
Polls Docker repository for newly deployed container images
When it detects a change in the desired state it instructs the cluster to match the desired state.

References

https://www.weave.works/technologies/gitops/
https://www.weave.works/oss/flux/
https://www.weave.works/docs/tutorials/core/interactive/part-2-deploy-continuous-delivery/

Reloader

Polls Git for changes.
Polls Docker repository for newly deployed container images
When it detects a change in the desired state it instructs the cluster to match the desired state.

Reloader is a Kubernetes Controller built to watch for changes in ConfigMap and Secrets and then updates Deployment, StatefulSet and DaemonSet, so that the new changes are loaded

Detects a changed in the desired state for configuration and secrets

When it detects a change in the desired state it instructs the cluster to match the desired state.

References

hhttps://github.com/stakater/reloadert

0
0

Jump to Section