The ease of creating, copying, and removing namespaces under Kubernetes greatly reduces the previous burden of keeping multiple copies of environments to replicate the underlying infrastructure. You can use this to your advantage.
Based on the GitOps principles we mentioned earlier, we can define new namespaces to generate a new cluster. We can either use another branch (for example, use the master branch for the production cluster and demo for the demo cluster) or copy the files containing the cluster definition and change the namespaces.
You can use different physical Kubernetes clusters for different purposes. It's better to leave the production cluster as not being shared with any other environment to reduce risks. However, every other environment could live in the same cluster, which won't affect external customers.
Some feature...