in service discovery, load balancing, storage orchestration, and self-healing Ensures high availability and fault tolerance by distributing workloads across multiple nodes Available on major cloud providers Planet scale
Deployment and Service manifest Run kubectl apply -f deployment.yaml & kubectl apply -f service.yaml Sometimes you also need ConfigMap or Secret Which translate to: two more kubectl apply -f $manifest.yaml That’s a total 4 manifest files per deployment And you need to apply 4 commands to get a deployment working At minimum it would require following manifests:
to manage app deployments In practice, you will need other Kubernetes manifests, such as ConfigMap and Secret . Terraform will help you with: Keeping track of all resources within your cluster Find configurations drift if any Update deployments / configurations with a single command ( terraform apply ) Keep you sane :) Use code to manage infrastructure and deployments.
for namespace, configmaps in local.configmaps : [ for configmap in configmaps : { namespace = namespace deployment = configmap.deployment filename = configmap.filename } ] ]) configmaps_map = { for index, v in local.configmaps_map_raw : v.deployment => v } }
workloads manually can be tedious and prone to errors Terraform can help you keep track of cluster configurations and workloads With proper Terraform local blocks usage, you can even simplify the setup further