Docker Orchestrierung
Hier geht es um die Orchestrierung von Docker Clustern ...
Cluster werden aufgebaut, um
die VerfĂźgbarkeit - bei Ausfall eines Knotens wird ein neuer Knoten gestartet.
die Performance - lastabhängig Knoten kritischer Komponenten hinzuzuschalten und dann auch wieder wegzunehmen (um die Anwendung auch wirtscahftlich zu betreiben)
zu erhĂśhen. Im besten Fall erfolgt das automatisiert durch das Tooling - eine automatisierte Auswertung des Monitorings ist hier eine Grundvoraussetzung. Bei einfachen Anwendungen kann das vielleicht noch manuell geschehen (auch dann wird es schon aufwendig mit Service Discovery und Konfiguration), aber bei wirklich sehr elastischen bzw. komplexeren Umgebungen muĂ das automatisiert sein ... sonst dreht das Operations-Team am Rad und die Kunden kĂśnnen nicht schnell genug befriedigt werden.
Glßcklicherweise gibt es bereits LÜsungen fßr dieses Problem. Das schÜne ist, daà nicht nur docker-basierte Komponenten unterstßtzt werden, sondern auch herkÜmmliche Deploymentansätze.
Rancher
http://rancher.com/
Rancher ist den Docker-Tooling am nächsten. Fßr die Beschreibung der Deployment-Landschaft wird docker-compose.yml
in Kombination mit rancher-compose.yml
.
Rancher beherrscht auch Windows Container.
Getting Started
Deploy Rancher auf Virtualbox via docker-machine
Scheduler
Rancher bietet mit Cattle seinen eigenen Scheduler ... allerdings ist der bei weitem nicht so performant wie die Platzhirsche
Mesos (Teil von DC/OS)
Docker Swarm
Rancher kann diese Scheduler aber integrieren.
Tiefe der Rancher Dockerisierung
Selbst typische Betriebssystem-Features (ntp
, syslog
, udev
, ...) bildet Rancher in Docker-Containern ab. Man unterscheidet
system-docker
hier laufen Betriebssystem-Container
user-docker
hier laufen die typischen Docker-Container einer Anwendung
Alleinstellungsmerkmal: Machine Driver
Rancher bietet mit den Maschine Drivers eine integration verschiedener Cloud-Anbieter, so daĂ sich ein Hybrid-Deployment aus Maschinen in Private-Cloud (derzeit: vSphere, OpenStack, RackSpace) und Public-Cloud (derzeit: Amazon EC2, Azure, DigitalOcean, Packet) realisieren läĂt.
Man kann auch custom Maschine Driver integrieren.
Bewertung
Rancher ist ein idealer Einstieg in das Docker-Clustering, da es einerseits nah an Docker-Tooling ist (der Einsteiger findet sich schnell zurecht) und anderseits Komponenten aus weitaus professionelleren LĂśsungen (z. B. Scheduler) integrieren kann.
"Rancher bringt zentrale Vorteile im Hinblick auf Verfßgbarkeit und Skalierbarkeit relevanter Services mit sich und erlaubt kurze Deployment-Zyklen. Fßr den Aufbau einer leistungsfähigen Microservice-Umgebung geht es im ersten Schritt darum, die Bestandsapplikationen in Docker zu ßberfßhren und sich mit dessen Handhabung vertraut zu machen. Rancher bietet sich als Einstieg an, um die Voraussetzungen fßr Microservices und Container zu schaffen." (Michael Vogeler, Jan Wiescher - iX 2/2017)
Rancher unterstßtzt bis Version 1.3 kein Autoscaling. In Version 1.4 sind rudimentäre Scaling-Feature hinzugekommen (Kubernetes ist aber noch meilenweit entfernt).
Kubernetes
DC/OS
Hierbei handelt es sich um ein Paket aus verschiedenen Einzeltools
Apache Mesos
Apache Marathon
...
Ich finde die Idee sehr Ăźberzeugend und wĂźrde es gerne mal ausprobieren. Bei Cloud-Anbietern we AWS, Azure und Google Cloud Engine scheint das auch ziemlich unproblematisch zu sein, weil hier fertige Templates bereitstehen, so daĂ die Installation per One-Click erfolgt.
Zur On-Premise-Installation schreibt die iX:
"Die Installation im Cluster läuft weitestgehend automatisch, erfordert aber eine akribische Vorbereitung." (Daniel BĂśĂwetter - iX Ausgabe 2/2017)
Last updated
Was this helpful?