Please consider an option to use docker-compose. You could just provide a single file with all the containers required for a typical setup.
K8s is so much an overkill for clients which do not use it in their cloud infrastructure!
For example, we don’t want to deal with it at all until we begin switching our own software to the micro-service architecture. Until then, it’s just not worth paying for it (resources + administration efforts).
With docker-compose, all customers can handle this easily with just a single config file! In case if auto-scaling is really necessary they can scale it manually and then switch to K8s.
It’s usually pretty easy to switch from docker-compose to K8s, but not vice versa :(
Best answer by Robert Moucha
thank you for your proposal. While we use docker-compose for the development of GoodData.CN, this project has already grown out of capabilities that docker-compose can provide. To be more specific, some multitenancy features (like Organizations) are solely dependent on Kubernetes functionality (Custom resources, dynamic Ingress definition). Also when we consider other aspects of application management, like scalability, zero-downtime rolling upgrades, and monitoring, docker-compose and k8s are hardly comparable.
While I fully understand the benefits of a single-file configuration of the docker-compose solution, using it instead of k8s would limit the multitenancy of GoodData.CN.
For more information on how Organizations will be managed in Kubernetes deployment, see the documentation.