Deploying multiple versions of the same software in Kubernetes

4/15/2019

I'm planning to migrate the deployment process from a traditional deployment tool (Octopus) to Kubernetes and as my knowledge of Kubernetes is very limited, I'm lost how I could set up deployment for multiple clients. I have a CMS-like web-site and I need to deploy it to dev/stage/production for several clients (different servers). Could you please hint me what is the right abstraction for that in Kubernetes?

-- SiberianGuy
kubernetes

1 Answer

4/15/2019

Option 1 (the easiest): Kubernetes namespace. Create different namespaces for dev/stage/production. Install same name/label resources there and they will not overlap.

Option 2: Helm chart with the release name tied to every resource. Example chart https://github.com/helm/charts/tree/master/stable/wordpress. When you do this https://github.com/helm/charts/blob/master/stable/wordpress/templates/deployment.yaml#L19 resource references do not overlap even in the same namespace.

Option 3: Do both at time :)

-- Max Lobur
Source: StackOverflow