Categories
Containerisation Containers Docker Kubernetes

Pros and Cons of Openshift OKD and Portainer

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