====== Orchestration ====== ===== Overview ===== * Docker swarm / compose * Kubernetes (k8s) * OpenShift (productized k8s) / OKD * Nomad * Mesos * Rancher ===== Docker swarm ===== Setup: Simple setup, when Docker engine is installed Scaling: Scale up or down commands (no auto-scaling?) Blue green deployments: * Swarm (nginx) https://www.goetas.com/blog/traps-on-the-way-of-blue-green-deployments/ * Swarm https://github.com/cecchisandrone/docker-swarm-blue-green * (nginx, consul): https://botleg.com/stories/blue-green-deployment-with-docker/ * Compose and Traefik https://coderbook.com/@marcus/how-to-do-zero-downtime-deployments-of-docker-containers/ ===== Kubernetes ===== * Installer: kubespray, kops, kubeadm * Mini-dev-dist: * minikube (uses vms, needs hypervisor) * microk8s (snap) ===== Mesos ===== Resource manager: Pool resources of data center, expose API for Frameworks with scheduling and job management logic. Architecture: Zookeeper dependency Frameworks on top: Aurora, Marathon ===== Nomad ===== General purpose: virtualized, containerized and standalone apps Simpler architecture: Client and server binaries Composing with Consul (service discovery) and Vault (secret management) Scale: > 10.000 nodes (stated by HashiCorp) Locations: multi-datacenter, multi-region ===== OpenShift ===== Requirements: RHEL, CoreOS, CentOS Enhanced security: No root containers, RBAC, integration with AD Additional components: Internal container registry, EFK logging stack, Prometheus Monitoring, Jenkins Templates: No Helm Ingress: Router instead of Ingress ===== Rancher ===== K8s distribution Simplification of Kubernetes deployment / management ===== Related ===== Service meshs * Istio * Consul (also Service discovery)