|
1 | 1 | # GitOps
|
2 | 2 |
|
3 |
| -## Concept |
| 3 | +We wrap up this tutorial with a special topic insofar that it doesn't |
| 4 | +demonstrate an attack of shows a control in action but rather discusses a |
| 5 | +good practice. [GitOps](https://www.gitops.tech/) is a continuous or sometimes |
| 6 | +called progressive deployment method. The source of truth for the state of the |
| 7 | +deployments is Git and the way how a deployment is done is as follows: |
4 | 8 |
|
5 |
| -## Using Flux |
| 9 | +1. As a developer or release engineer, you commit a change (for example, via |
| 10 | + a pull request in GitHub. |
| 11 | +1. A combination of bots and human reviewers comment on the commit, request |
| 12 | + changes and/or merge it, eventually. |
| 13 | +1. In the Kubernetes cluster runs an agent that watches the Git repo and on |
| 14 | + changes, kicks off a new deployment. |
6 | 15 |
|
7 |
| -## Using ArgoCD |
| 16 | +In this setup, other than for read-only or potentially troubleshooting access |
| 17 | +(with tight RBAC settings) the end-user does not have access to the Kubernetes |
| 18 | +cluster. In other words, a `kubectl apply -f ...` is not possible, every change |
| 19 | +of the application configuration is reviewed and part of an immutable log, the |
| 20 | +Git repo's commit log. This allows at any point in time to reset the state to |
| 21 | +a well-defined and good, previous state. Further, since it's formally and |
| 22 | +automatically on record who requested and who approved a change, auditing is |
| 23 | +straightforward. |
| 24 | + |
| 25 | +There are a number of tools available for applying GitOps in your team, for |
| 26 | +example: |
| 27 | + |
| 28 | +- CNCF [Flux](https://docs.fluxcd.io) |
| 29 | +- CNCF [ArgoCD](https://argoproj.github.io/argo-cd/) |
| 30 | + |
| 31 | + |
| 32 | +To see GitOps in action, head over to the GitOps Toolkit and do go through |
| 33 | +the [Get Started](https://toolkit.fluxcd.io/get-started/) guide. |
| 34 | + |
| 35 | +Learn more about GitOps via: |
| 36 | + |
| 37 | +- [Adopting GitOps for Kubernetes on AWS](https://acloudguru.com/blog/engineering/adopting-gitops-for-kubernetes-on-aws) |
| 38 | +- Introduction To GitOps Toolkit: [video](https://www.youtube.com/watch?v=qQBtSkgl7tI) |
| 39 | + and [slide deck](https://www.slideshare.net/weaveworks/gitops-toolkit-cloud-native-nordics-tech-talk). |
0 commit comments