Hands-On: Deploying Applications Using GitOps Principles
We learned that deploying Kubernetes YAML files was not enough. We needed some sort of templating, so we got Helm and Kustomize. We managed to get to the point of executing the deployment commands from continuous delivery pipelines. Today, running commands ourselves is considered a bad practice. No one is supposed to ever deploy anything by executing kubectl apply
, helm upgrade
, or any other command, especially not in production. Processes are supposed to be run by machines, and not by us.
We’ll try to figure out how to apply GitOps principles in their purest form. We’ll see how we can focus only and exclusively on defining the desired state in Git and letting the processes inside the cluster figure out what to do. We’ll do that without any communication from the outside world, except for the initial setup. At least, that’s the intention. We’ve yet to see whether that makes sense or not.