Managing Kubernetes Environments Using Namespaces and Terraform

In the last several years, Kubernetes has become the “go-to” standard for managing and orchestrating containerized workloads. Thanks to its vendor-agnostic nature, you can easily run Kubernetes almost anywhere, and in fact, all the major cloud vendors offer a managed Kubernetes service (AWS EKS, Google GKE, and Azure AKS).

With Kubernetes, one of the key advantages is the ease of managing multiple environments and workloads in a single cluster, by separating the cluster into logical areas using namespaces. This post will dive into how we can manage this by using Terraform to manage the cluster provisioning as well as manage the namespaces.