I read a lot of documents on the internet. They describe the best combination is Terraform and Kubernetes. Use Terraform for provisioning and Kubernetes for pod management
If I need to scale then I say to Terraform add new containers. So why Kubernetes ? Is it more as a monitoring tool in this case, Kubernetes? I mean I can't say to Kubernetes I need more containers it will get in conflict with Terraform.
I don't understand why use the extra layer of Kubernetes.
Terraform is a tool for provisioning infrastructure across cloud providers, that lets you describe the infrastructure you would like to provision as code (Infrastructure as Code or IaC). You run it, infrastructure is provisioned and that's it.
On the other hand, Kubernetes is a container orchestration engine. It orchestrates worker nodes, where pods are scheduled. It takes decisions on:
These are just some of the features of Kubernetes, and you can check for more of its features in the "Kubernetes Features" section of this page.
Terraform can help you provision your infrastructure, but when your workloads are container-based, then you need a container orchestrator. This is where Kubernetes fits in.