Multiple deployments of same app

Hi,

Kubernetes newbie here :slight_smile:

We are currently building an application (Angular + several apis / microservices) for which we are going to use Docker and kubernetes. However, this app will have to be deployed anew multiple times for each of our customers!

So lets say we have 3 customers A, B, and C.

  • A might have DEV, TEST and PROD environments.
  • B might only have PROD
  • and C could have DEV, QA, and PROD

Meanwhile we may internally have DEV and a Demo environment.

All of these 9 different environments should be isolated (individual instances of Angular app + apis) and with different configurations of course, ie. URLS, Security setup, certain paid functionalities on/off, etc.

This seems supercumbersome (and errorprone!) to do with kubectl where you have to set configurations back and forth.
There is a tooon of tools for kubernetes which is of course great, but as a small startup we do not have time to go in depth with a lot of tools so I am hoping someone in here can guide me to some kubernetes tools that will ease this process. From what I gather I might be looking at ArgoCD, Jenkins X, stuff like that, but I can’t really find anyone doing my specific usecase with isolated “identical” (identical functionality, not configurations!) deployments for different customers.

Any ideas?

Make helm charts and manage them as releases in the cluster.

Bitnami also has a make your first helm chart guide.

Helm is also supported in development tools like skaffold and is the only sane way to leverage something like skaffold in my opinion.

Also tools like ArgoCD have support for helm charts as well.

Thanks a lot. I did actually see helm referere to as well, and that does indeed look promising!

I will try and go down this road, thanks a lot!

Peter