Kubernetes (K8s) ist eine Open-Source-Plattform für die automatische Bereitstellung, Skalierung und Verwaltung von containerisierten Anwendungen. Dieser Service vereinfacht die Orchestrierung von Docker-Containern erheblich, erweitert deren Funktionalität und trägt dazu bei, die gesamte Infrastruktur stabiler und skalierbarer zu machen.
Wir haben vor kurzem einen neuen Service gestartet Gcore Cloud — Verwaltetes Kubernetes. Damit können Sie K8s in unserer Cloud verwenden und Container mühelos verwalten.
In diesem Artikel gehen wir auf die Möglichkeiten ein, die unser Dienst bietet.
Was ist Gcore Managed Kubernetes
Managed Kubernetes ist ein neuer Cloud-Dienst von Gcore, mit dem Sie K8s in unserer Cloud-Infrastruktur verwenden und die Arbeit mit den Clustern vereinfachen können.
Der Dienst ermöglicht es, Cluster zu erstellen, Knoten über ein einheitliches Gcore-Panel zu verwalten und Prozesse noch mehr zu automatisieren.
Sie erhalten alle Funktionen von Kubernetes, eine flexible Infrastruktur und wir übernehmen die Routineaufgaben der Bereitstellung von Clustern und der Verwaltung von Masterknoten.
Besonderheiten des Dienstes:
- Sie haben den Zugriff nur auf die Worker-Knoten und der Master-Knoten wird von unseren Administratoren gesteuert. Sie verschwenden keine Zeit mit Routine und können sich auf die Entwicklung konzentrieren.
- Im Control Panel können Sie einen Cluster für Ihre Aufgaben erstellen und konfigurieren. Sie selbst bestimmen die Anzahl der Worker-Knoten, konfigurieren Autoskalierung und die automatische Wiederherstellung.
- Als Arbeitsknoten werden jetzt Unsere virtuellen Maschinen verwendet. In Zukunft planen wir jedoch die Möglichkeit einzuführen, Bare-Metal-Server zu Clustern hinzuzufügen.*
- Wir verwenden Kubernetes-Version 1.20.6.* Wenn eine neue Version herauskommt, können Sie mit nur wenigen Klicks in der Systemsteuerung darauf aktualisieren, ohne Daten zu verlieren.
Aktualisiert (1. Juni 2023): Wir unterstützen bereits Managed Kubernetes für Bare Metal Nodes sowie Kubernetes v1.25-1.27. Siehe unsere Ankündigung für weitere Details.
Derzeit kann ein Cluster innerhalb eines Rechenzentrums bereitgestellt werden, aber in Zukunft werden wir die Möglichkeit hinzufügen, Knoten aus verschiedenen Rechenzentren anzuschließen.
Managed Kubernetes hat die Möglichkeit der Autoskalierung: das System wird automatisch die Anzahl der Knoten im Pool erhöhen und verringern. Wenn nicht genügend Ressourcen vorhanden sind, fügt der Dienst zusätzliche virtuelle Maschinen hinzu. Und wenn einige Knoten länger als 20 Minuten nicht verwendet werden, werden sie entfernt.
Sie können die minimale und maximale Anzahl von Knoten im Pool selbst anpassen. Und wenn gewünscht, kann die automatische Skalierung deaktiviert werden.
Wir unterstützen auch die automatische Wiederherstellung: das System überwacht ständig den Zustand der Knoten und, wenn es einen nicht funktionierenden erkennt, leitet deren Ersetzung ein. Diese Funktion ermöglicht die Ausfallsicherheit Ihrer Infrastruktur zu erhöhen. Aber wenn Sie möchten, können Sie es auch deaktivieren.
Die Verwaltung des Dienstes ist über ein Panel oder eine API möglich. Sie können:
- Cluster erstellen;
- Pools und Knoten darin erstellen, Anzahl der Knoten im Pool ändern;
- den Cluster skalieren;
- Autoskalierung und automatische Wiederherstellung innerhalb des Pools konfigurieren;
- eine Floating-IP zuweisen und über SSH mit Hosts verbinden;
- Belastungen auf den Knoten verfolgen.
So verbinden Sie einen neuen Dienst
Wenn Sie bereits mit der Gcore Cloud verbunden sind, ist Managed Kubernetes bereits in Ihrem Dashboard verfügbar. Sie müssen nichts zusatzlich anschließen.
Vorläufig ist der Dienst im Betatest. Daher ist er kostenlos.
So verwenden Sie Managed Kubernetes
1. Wir erstellen einen Cluster
Gehen Sie im Cloud-Dashboard zum Abschnitt Kubernetes und klicken Sie auf „Create Cluster“.
Wählen Sie die Region aus, in der sich das Rechenzentrum befindet, auf deren Ressourcen der Cluster bereitgestellt wird.
Erstellen Sie Pools innerhalb des Clusters.
Geben Sie den Namen des Pools ein (er kann beliebig sein) und geben Sie die Startanzahl der Knoten an — so viele Knoten werden innerhalb dieses Pools nach dem Start des Clusters gestartet.
Geben Sie als Nächstes die minimale und maximale Anzahl von Knoten an. Dies ist für die korrekte Einstellung der Autoskalierung erforderlich. Das System wird die Anzahl der Knoten nicht unter das Minimum senken und nicht mehr als das Maximum erhöhen.
Wenn Sie die Autoskalierung nicht verwenden möchten, geben Sie einfach dieselbe maximale und minimale Anzahl von Knoten an. Dieser Wert muss mit der Startanzahl der Knoten im Pool übereinstimmen.
Als Nächstes wählen wir den Typ der virtuellen Maschinen aus, die im Pool gestartet werden sollen. Da ein Pool eine Gruppe von Knoten mit den gleichen technischen Eigenschaften ist, können wir nur einen Typ der virtuellen Maschinen auswählen.
Sie können einen von fünf Typen von virtuellen Maschinen auswählen:
- Standard — darin sind Gigabyte Arbeitsspeicher 2-4-fach so viel, als vCPU.
- vCPU — diese Maschinen haben die gleiche Anzahl von vCPUs und Gigabyte Arbeitsspeicher.
- Memory — Maschinen mit großem Arbeitsspeicher — 8-fach so viel als vCPUs.
- High Frequency — mit einem Prozessortakt von 3,37 GHz in der Basiskonfiguration.
- SGX — Unterstützt die Intel SGX-Technologie.
Als Nächstes wählen wir die Größe und den Typ der Festplatte zum Speichern der Pooldaten aus.
Als Typ kann man vier Varianten der Festplatte auswählen. Sie unterscheiden sich in der Art des Laufwerks (SSD oder HDD), der zulässigen Anzahl von IOPS und der maximalen Übertragungskapazität.
Sobald Sie alle aufgeführten Einstellungen vorgenommen haben, wird der Pool erstellt.
Sie können beliebig viele Pools erstellen. Um dem Cluster einen weiteren Pool hinzuzufügen, klicken Sie einfach auf „Add pool“ und konfigurieren Sie alle Einstellungen wie oben beschrieben.
Weiter können Sie automatische Wiederherstellung aktivieren oder deaktivieren.
Fügen Sie dann die Clusterknoten zum Private network und Subnetwork hinzu. Sie können ein Netzwerk aus den bestehenden auswählen oder ein neues erstellen, indem Sie auf „Add a new network“ klicken.
Als Nächstes müssen Sie einen SSH-Schlüssel hinzufügen, um eine Verbindung zu den Clusterknoten herzustellen. Sie können einen der bereits zu Ihrem Konto hinzugefügten Schlüssel auswählen oder einen neuen erstellen.
Schließlich müssen Sie den Namen des Clusters angeben (kann beliebig sein)…
…und noch einmal alle Cluster-Einstellungen auf der rechten Seite des Bildschirms überprüfen.
Klicken Sie auf „Create Cluster“. Alles ist fertig! Der Cluster wird in wenigen Minuten betriebsbereit sein.
2. Pools bearbeiten
Also haben wir einen Cluster erstellt. Er wird jetzt im Kubernetes-Bereich des Dashboards angezeigt.
Sie können Änderungen daran vornehmen. Klicken Sie dazu auf den Namen.
Sie gelangen in den Abschnitt mit Informationen zum Cluster, in dem sein Zustand, Status, die Anzahl der Pools und Knoten angezeigt werden. Die Registerkarte „Pools“ zeigt eine Liste aller Pools mit grundlegenden Informationen an. Sie können jeden davon bearbeiten:
- umbenennen;
- die aktuelle Anzahl von Knoten ändern (innerhalb des Autoscaling-Bereichs);
- Grenzwerte für die automatische Skalierung bearbeiten;
- den Pool löschen.
Sie können auch einen weiteren Pool in den Cluster hinzufügen. Auf der Registerkarte „Pools“ befindet sich am Ende der Liste die Schaltfläche „Add pool“. Drücken Sie darauf. Ein neuer Pool wird auf die gleiche Weise wie beim Erstellen eines Clusters erstellt.
3. Überprüfung der Belastung der Knoten
Sie können selbstständig prüfen, welche Belastung auf jeden Knoten anfällt.
Wählen Sie dafür auf der Registerkarte „Pools“ den gewünschten aus und klicken Sie auf den gegenüberliegenden Pfeil. Die Liste der Knoten wird geöffnet. Klicken Sie auf den gewünschten.
Wechseln Sie in den Tab „Monitoring“.
Sie sehen Grafiken und zwei Schaltflächen darüber. Die linke konfiguriert, für welchen Zeitraum die Daten angezeigt werden, und die rechte, wie oft die Informationen auf Ihrem Bildschirm aktualisiert werden.
Statistiken werden für 10 Metriken angezeigt:
- CPU Utilization — Belastung des Prozessors in Prozent.
- RAM Utilization — wie viel Prozent des RAM der Knoten verwendet.
- Network BPS ingress — Geschwindigkeit des eingehenden Traffics in Bytes pro Sekunde.
- Network BPS egress — Übertragungsgeschwindigkeit des ausgehenden Traffics in Bytes pro Sekunde.
- Network PPS ingress — die Geschwindigkeit des eingehenden Traffics in Paketen pro Sekunde.
- Network PPS egress — Übertragungsrate des ausgehenden Traffics in Paketen pro Sekunde.
- sda/Disk IOPS read — Lesegeschwindigkeit von Informationen von der Festplatte in der Anzahl der Operationen pro Sekunde.
- sda/Disk IOPS write — Schreibgeschwindigkeit von Daten auf die Festplatte in der Anzahl der Operationen pro Sekunde.
- sda/Disk BPS read und sda/Disk BPS write — die gleichen wie die beiden vorherigen Metriken, nur in der Anzahl der pro Sekunde übertragenen Bytes.
Ein Beispiel für eines dieser Grafiken:
Lesen Sie mehr über die Arbeit mit Managed Kubernetes in unserem Wissensbasis, im Abschnitt Kubernetes.
Fassen wir zusammen
- Managed Kubernetes ist ein neuer Server der Gcore Cloud, der die Nutzung von Kubernetes in unserer Cloud-Infrastruktur ermöglicht und die Arbeit damit noch einfacher macht.
- Mit unserem neuen Service können Sie sich auf die Entwicklung konzentrieren. Wir übernehmen alle Routineoperationen im Zusammenhang mit Masterknoten und Cluster-Bereitstellung.
- Einen Cluster erstellen, ihn für Ihre Aufgaben anpassen und ihn verwalten können Sie über ein einfaches und bequemes Panel.
- Vorläufig befindet sich der Dienst im Betatest, deswegen können Sie ihn kostenlos nutzen.
Wir vervollkommnen unsere Cloud-Services, damit unsere Kunden ihr Geschäft noch schneller und kostengünstiger ausbauen können. Eine komfortable und technologische Cloud ermöglicht es Ihnen, Ihre Geschäftsprobleme ohne unnötige Kosten und Mühen zu lösen.