Update 2022: Most of these platform are downstream from vanilla kubernetes. Other options: A Lightweight kubernetes with k3s or Rancher. My opinion at this time is that rancher is the easiest to run and develop with/for.
If you are about to make a choice about which container orchestrator, sheduler or paltform to choose you have a tough decision ahead. It is difficult to understand the nuances, features and limitations of each platform without having tried them out for a while. This post focuses on situations where you run your own cluster – ie. not using a public cloud provider like Amazon EKS, ECS or Azure Container Service / Kubernetes Service.
The main issues and features to look out for will be highlighted for each platform.
Openshift OKD
Kubernetes optimized for continuous application development and multi-tenant deployment.
Issues / Cons
- Bad developer experience as containers don’t just work – as they cannot run as root and run as a random user – some containers can only run as root.
- Your containers need to be specifically built for Openshift (sometimes)
- More secure and less prone to vulnerabilities as containers will never run as root user
- Frontend can be a bit tricky
Features / Pros
- Like most Red Hat things – great docs and well designed and stable product
- Good default – sets up a docker registry for you – using kubernetes in a container
- Everything is managed within OKD – routes are automatically setup – no need to open ports and point stuff all around the place
- No support for
docker-compose
as kubernetes has their own way of doing things – you have to convert your docker compose files. - Frontend can be nice and simple
Portainer
Making Docker Management Easy – it uses Docker Swarm – no kubernetes.
Issues / Cons
- No routes (via domain names) – you have to manually configure and manage ports and routes to the containers
Features / Pros
- Docker developer friendly – containers just work
- Containers run as root