Split your Kubernetes Infrastructure and Application Deployments

A common pitfall when working with Terraform and Kubernetes is deploying the Kubernetes infrastructure in the same Terraform workspace as your applications on top of it.

For example, if I were using AWS’ EKS offering, my Terraform workspace that creates the EKS cluster should not deploy Kubernetes components.

Deploying the infrastructure and the applications in the same workspace will eventually cause you problems with the dependencies of the Kubernetes providers.

You can have a separate Terraform workspace that deploys your core platform infrastructure, such as your logging and monitoring stack.

For business applications, I would avoid using Terraform to deploy them to Kubernetes.

Use a tool that’s designed for orchestrating Kubernetes deployments instead.


Like what you've read?

If you're an engineering leader or developer, you should subscribe to my 80/20 DevOps Newsletter. Give me 1 minute of your day, and I'll teach you essential DevOps skills. I cover topics like Kubernetes, AWS, Infrastructure as Code, and more.

Not sure yet? Check out the archive.

Unsubscribe at any time.