Open Source im professionellen Einsatz
Linux-Magazin 11/2016
© Elena Shchipkova, 123RF

© Elena Shchipkova, 123RF

Container sichern und skalieren

Die Herde hüten

Core OS und Kubernetes helfen Admins dabei, Container-basierte Webanwendungen in großen Landschaften zu orchestrieren. Als Herausforderungen erweisen sich in der Praxis die Sicherheit, Deployments sowie die Updates für Tausende von Nodes. Wie Admins dabei die Zügel in der Hand behalten, erklärt der Artikel.

444

Seit dem Erscheinen von Docker [1] vor drei Jahren sind Container nicht nur im Linux-Universum ein Dauerbrenner. Auch die nativen Ports für Windows und OS X stoßen auf reges Interesse. Waren Entwickler zuerst nur daran interessiert, ihre Applikationen als Microservices [2] in Containern zu testen, gibt es inzwischen erste produktive Erfahrungen mit dem Einsatz von Containern in großen Setups – jenseits von Google und anderen großen Portalen.

Der Artikel beleuchtet, wie sich Container in großen Herden verhalten, welche Vorteile sich daraus ergeben und worauf Admins achten sollten.

Herdentiere

Klar ist: Ein Admin muss den Betrieb von Docker-Containern in der Masse orchestrieren. Kubernetes ([3], Abbildung 1) ist ein erst zwei Jahre altes System, das genau diesen Zweck erfüllt. Als Teil von Googles Infrastructure for Everybody Else (Gifee) ist es in Go geschrieben, steht unter der Apache-2.0-Lizenz, die stabile Version beim Redaktionsschluss war die 1.3.

Abbildung 1: Kubernetes bringt eine eigene Weboberfläche mit, um Pods, Nodes und Container zu verwalten.

Der Sourcecode wartet auf Github [4], ein »git clone« liefert den aktuellen Master-Branch. Es empfiehlt sich, mit »git checkout v1.3.0« die neueste stabile Version zu holen. Wer Erfahrung oder Wagemut mitbringt, kann auch eine Beta- oder Alpha-Version probieren.

Ein »make quick-release« baut eine schnelle Version, was aber voraussetzt, dass bereits Docker und Go auf dem Host laufen. Mit Go 1.6 und Docker 1.11 ließ sich Kubernetes im Test innerhalb von ein paar Minuten installieren. Allerdings gibt es seit Version 1.2.4 die kleine Unschönheit, dass der Admin die »$CDPATH« -Environment-Variable mit »unset CDPATH« löschen muss, andernfalls drohen Fehlermeldungen.

Schwerer wiegt aus Open-Source-Sicht, dass Teile des Build von externen Containern abhängen. Zwar ist davon auszugehen, dass alle heruntergeladenen Container aus sicheren Quellen stammen – zählt man Googles Registry als solche. Doch allein die schiere Anzahl hinterlässt ein gemischtes Gefühl, vor allem in hochsicheren Umgebungen.

Ein Build ohne vorinstallierte Container zeigt zwar, dass es möglich ist, alle Komponenten auch ohne Netzwerkverbindung zu bauen. Doch scheitert der Make-Prozess beim Paketieren der Komponenten für »kubi-apiserver« [5] und »kubelet« [6]. Für eine sichere Umgebung greifen Admins besser zu einer Release, die nur ein auditierbares, auf Dockerfiles aufbauendes Repository verwendet.

Cluster to go

Nach dem Installieren setzt der Admin auch eine Testumgebung im Handumdrehen auf. Im ersten Schritt wählt er einen Kubernetes-Provider aus, im zweiten feuert er den Cluster ab:

export KUBERNETES_PROVIDER=libvirt-coreos
cluster/kube-up.sh

Nach ein paar Minuten steht er dann mit einem laufenden Cluster da, der aus einem Master und drei Worker Nodes besteht. Alternativ lässt der »vagrant« -Provider eine Installation unter Virtualbox auch auf Macs zu [10].

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 5 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Kubernetes-Monitoring

    In Cloud-Native-Umgebungen stoßen klassische Monitoring-Tools an ihre Grenzen, wenn sie kurzlebige Objekte wie Container überwachen. Diese Lücke schließt Prometheus, das Kubernetes dank der konzeptionellen Ähnlichkeit, des einfachen Aufbaus und einer weitreichenden Automatisierung passgenau ergänzt.

  • Kubernetes

    Google betreibt die meisten Server und beschäftigt sich mit dem Thema Containervirtualisierung. Es stellt in Form von Kubernetes eine Spezialdistribution vor, um Sysadmins das Leben mit Docker zu erleichtern.

  • OSCON: Google zeigt Kubernetes 1.0

    Google stellte bei der OSCON 2015 das Container-Orchestrierungstool Kubernetes in Version 1.0 vor.

  • Netz in Kubernetes

    Wer Microservices in Containern betreibt, zwingt sie vor allen Dingen dazu, miteinander zu kommunizieren – und mit der Außenwelt. Wie Admins Pods und Nodes in Kubernetes dafür vernetzen, klärt der Artikel.

  • Azure unterstützt nun Kubernetes und verwaltet Docker-Images

    Für seine Cloudstrategie setzt Microsoft notgedrungen auf Open-Source-Technologie. Nun können Azure-Nutzer Kubernetes verwenden, um Docker-Container zu verwalten, der Konzern hat gar ein visuelles Tool unter Apache-2.0-Lizenz entwickelt.

comments powered by Disqus

Ausgabe 10/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.