Nowadays DevOps Engineers love different things about Infrastructure as Code. Be declarative when building and automating infrastructure, and perform the deployment through a GitOps deployment.
What is GitOps? It is a way of managing the infrastructure and application so that the system is described declaratively and version controlled. It has an automated process that ensures that the deployed environment matches the state specified in a repository.
Is it cool, am I right?! But, what about Kubernetes? Yes, we have the excellent YAML files, but wouldn't it be awesome to declare the state into a Git repository and wait for the cluster to automatically update itself instead of manually doing it?
Here is the newly graduated CNCF project Flux! It allows you to declare, and automate your Kubernetes cluster by simply pushing code to a Git repository and letting K8s do the rest of the tedious work.