Microservice- und App-Bereitstellung mit K8s, Teil 3

Container-Cluster mit Kubernetes flexibel steuern

| Autor / Redakteur: Thomas Joos / Stephan Augsten

Das Autoscaling von Kubernetes eignet sich insbesondere für größere Container-Umgebungen und Cluster.
Das Autoscaling von Kubernetes eignet sich insbesondere für größere Container-Umgebungen und Cluster. (Bild: Kubernetes.io)

Kubernetes bietet den Vorteil, dass Ressourcen und der Cluster an sich ständig und flexibel anpassbar sind. Dadurch lassen sich Cluster und Container jederzeit so skalieren, dass die Leistung optimal verteilt wird.

Kubernetes kann in einer Vielzahl von Umgebungen betrieben werden. Neben lokalen Installationen auf eigener Hardware besteht auch die Möglichkeit, den Betrieb über Amazon Web Services, Microsoft Azure oder die Google Cloud Platform zu realisieren. Unabhängig davon, wo der Cluster betrieben wird, lässt er sich schnell und einfach skalieren.

Nodes und Pods unterscheiden

Bei der Skalierung von Kubernetes-Clustern wird zwischen der Skalierung der Pods/Container selbst und der Skalierung des Clusters unterschieden. Ein Kubernetes-Cluster besteht aus Nodes. Dabei handelt es sich meistens um virtuelle Server, auf denen die per Kubernetes verwaltete Container-Technologie ausgeführt wird. Viele Anwender setzen an dieser Stelle auf Docker.

Container werden zu Pods zusammengefasst und auf Nodes betrieben. Alle Container in einem Pod teilen sich die Ressourcen, die dem Pod zugeteilt wurden. Dabei kann es sich um Prozessor und Arbeitsspeicher oder auch um Platz auf Datenträgern und die IP-Adresse handeln. Jeder Pod nutzt seine eigene IP-Adresse im Cluster.

Neue Instanzen integrieren

Werden einem Kubernetes-Cluster neue Instanzen hinzugefügt, verwendet Kubernetes die gleiche Konfiguration wie bei den bestehenden Instanzen. So könnte man beim Betrieb auf der Google Cloud Platform beispielsweise festlegen, ob vorhandene Pods automatisch auf die neuen Instanzen verschoben werden oder auf vorhandenen Instanzen verbleiben sollen.

Neue Pods lassen sich dann natürlich weiterhin jederzeit auf den neuen Instanzen bereitstellen. Der folgende Befehl dient dazu, einen Container-Cluster in der Google Cloud Platform zu vergrößern:

gcloud container clusters resize CLUSTER_NAME --size SIZE

Alle Möglichkeiten, die an dieser Stelle bestehen, finden sich in der entsprechenden Cluster-Dokumentation zur Google Cloud Platform.

Kubernetes auch in Microsoft Azure skalieren

Beim Betrieb eines lokalen Kubernetes-Clusters – aber auch wenn auf Microsoft Azure und Azure Container Services gesetzt wird – kann die Skalierung von Kubernetes über das Befehlszeilentool „kubectl“ erfolgen. Alle Pods werden zum Beispiel mit „kubectl get pods“ angezeigt. Erweitern lassen sich Pods mit der Option „scale“ von „kubectl“, zum Beispiel mit:

kubectl scale --replicas=5 deployment/azure-vote-front

Die Erweiterung kann dann wiederum mit „kubectl get pods“ überprüft werden. Hier sollten dank der zuvor verwendeten replicas-Option jetzt fünf weitere Pods zur Verfügung stehen.

Inhalt des Artikels:

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45100355 / Container & Virtualisierung)