Managing your Kubernetes clusters with a tool like Terraform offers a lot of advantages over the manual approach that we explored in Chapter 3, Reach for the Cloud. Being able to quickly and easily repeat the process of provisioning a cluster is very useful when you want to test changes to your configuration, or even when you come to upgrade the version of Kubernetes that your cluster is running.
The other key advantage of defining your infrastructure as code, is that you can use a version control tool to keep track of the changes that you make to your infrastructure over time. One of the key advantages to this is that every time you make a change, you can leave a commit message. Decisions that you make now might seem obvious, but having a record of why you chose to do something a certain way will certainly help you and others who have to work with your configuration...