Google Distributed Cloud (GDC) Air-Gapped bietet einen verwalteten Kubernetes-Dienst mit der Google Kubernetes Engine (GKE) Enterprise Edition, mit dem Sie Containerarbeitslasten mit Kubernetes-Methoden nach Industriestandard bereitstellen und ausführen können. GKE on GDC bietet Kernfunktionen von GKE Enterprise in einer Umgebung ohne Verbindung. Im Laufe der Zeit werden zusätzliche GKE Enterprise-Funktionen für GKE auf GDC verfügbar sein.
GKE on GDC bietet Enterprise-Funktionen wie:
- Verwaltung des Multi-Cluster-Lebenszyklus
- Vollständig unterstützte Kubernetes-Distribution
- Kostentransparenz
- Verwaltung mehrerer Teams
- GitOps-basierte Konfigurationsverwaltung
- Verwaltetes Dienst-Mesh
- Richtlinienkontrolle
Alle diese Funktionen sind standardmäßig in GKE auf GDC enthalten und können mit Clustern verwendet werden, die vom verwalteten Kubernetes-Dienst erstellt wurden.
In der Dokumentation werden GKE on GDC-Cluster als Kubernetes-Cluster oder Cluster bezeichnet.
GDC-Clusterarchitektur
Kubernetes-Cluster sind logisch voneinander getrennt, um unterschiedliche Fehlerbereiche und Isolationsgarantien zu bieten. In einigen Fällen sind sie sogar physisch getrennt. Jede Organisation in GDC hat einen eigenen Satz von Kubernetes-Clustern. Die folgenden Clustertypen sind speziell für Ihre Arbeitslasten und Dienste in jeder Organisation verfügbar:
- Organisationsinfrastrukturcluster: Führt die Komponenten der Steuerungsebene und der Datenebene der Organisation aus. Außerdem wird dort der Management-API-Server gehostet, auf dem alle Nicht-Container-Arbeitslasten und -Dienste bereitgestellt werden.
- Kubernetes-Cluster: Führt containerbasierte Arbeitslasten für die Organisation aus. Die Anzahl der Worker-Knoten hängt von der Auslastung des Clusters ab. Sie können sie an Ihre sich ändernden Anforderungen anpassen. Ein Kubernetes-Cluster wird in Distributed Cloud manchmal als Nutzercluster bezeichnet.
Wenn Ihr Infrastrukturbetreiber eine Organisation erstellt, wird der Infrastrukturcluster der Organisation automatisch von GDC generiert. Die anfängliche Konfiguration für den Infrastrukturcluster der Organisation wird bei der Erstellung der Organisation festgelegt.
Als Administrator erstellen und verwalten Sie Kubernetes-Cluster. In diesem Abschnitt werden Themen zur Verwaltung von Kubernetes-Clustern behandelt. Alle containerisierten Kubernetes-Arbeitslasten werden in einem Kubernetes-Cluster ausgeführt. Weitere Informationen zum Erstellen und Verwalten von Containern in einem Kubernetes-Cluster finden Sie im Abschnitt Container-Arbeitslasten bereitstellen.
Ein Kubernetes-Cluster besteht aus einer Steuerungsebene und Worker-Maschinen, die als Knoten bezeichnet werden. Die Steuerungsebene und die Knoten bilden das Kubernetes-Cluster-Orchestrierungssystem. GKE on GDC verwaltet die gesamte zugrunde liegende Infrastruktur der Cluster, einschließlich der Steuerungsebene und aller Systemkomponenten. Sie sind für die Verwaltung der Worker-Knoten verantwortlich, auf denen Ihre containerisierten Arbeitslasten ausgeführt werden.
Das folgende Diagramm zeigt die Architektur eines Kubernetes-Clusters:
Informationen zur Steuerungsebene
Die Steuerungsebene führt Prozesse wie den Kubernetes API-Server, den Planer und die Kernressourcen-Controller aus. GKE on GDC verwaltet den Lebenszyklus der Steuerungsebene von der Clustererstellung bis zum Löschen. Hierzu gehören Upgrades der Kubernetes-Version, die auf der Steuerungsebene ausgeführt wird. Diese Upgrades werden von GDC entweder automatisch durchgeführt oder von Ihnen manuell gesteuert, falls Sie Upgrades vor dem automatisch geplanten Termin ausführen möchten.
Steuerungsebene und die Kubernetes API
Die Steuerungsebene ist der einheitliche Endpunkt für Ihren Cluster. Sie interagieren mit der Steuerungsebene über Kubernetes API-Aufrufe. Die Steuerungsebene führt den Kubernetes API-Serverprozess (kube-apiserver
) zur Verarbeitung von API-Anfragen aus. So können Sie Kubernetes API-Aufrufe ausführen:
- Direkte Aufrufe: KRM
- Indirekte Aufrufe: Kubernetes-Befehlszeilenclients wie
kubectl
oder die GDC Console.
Der API-Serverprozess ist der Hub für sämtliche Kommunikation, die sich an den Cluster richtet. Alle internen Clusterkomponenten wie Knoten, Systemprozesse und Anwendungscontroller fungieren als Clients des API-Servers.
Ihre API-Anfragen teilen Kubernetes mit, was Ihr ausgewählter Status für die Objekte in Ihrem Cluster ist. Kubernetes versucht, diesen Status ständig zu erhalten. Mit Kubernetes können Sie Objekte in der API imperativ oder deklarativ konfigurieren.
Worker-Knoten verwalten
Die Steuerungsebene verwaltet, was auf allen Knoten des Clusters ausgeführt wird. Auf der Steuerungsebene werden Arbeitslasten geplant und der Lebenszyklus, die Skalierung und Upgrades der Arbeitslasten verwaltet. Die Steuerungsebene verwaltet außerdem die Netzwerk- und Speicherressourcen für diese Arbeitslasten. Die Steuerungsebene und die Knoten kommunizieren über Kubernetes-APIs miteinander.
Knoten
Knoten sind die Worker-Maschinen, auf denen Ihre Containeranwendungen und andere Arbeitslasten ausgeführt werden. Die einzelnen Maschinen sind virtuelle Maschinen (VMs), die von GKE on GDC erstellt werden. Die Steuerungsebene verwaltet und empfängt Aktualisierungen für den selbst gemeldeten Status jedes Knotens.
Ein Knoten führt die Dienste aus, die zur Unterstützung der Container erforderlich sind, aus denen die Arbeitslasten Ihres Clusters bestehen. Hierzu gehören die Laufzeit und der Kubernetes-Knoten-Agent (Kubelet), der mit der Steuerungsebene kommuniziert und dafür verantwortlich ist, die auf dem betreffenden Knoten geplanten Container zu starten und auszuführen.
GKE on GDC führt auch eine Reihe von Systemcontainern aus, die als Agenten pro Knoten ausgeführt werden, sogenannte DaemonSets, die Funktionen wie Logerfassung und Netzwerkverbindungen innerhalb des Clusters bereitstellen.
Einschränkungen für GKE on GDC
Die folgenden GKE-Funktionen sind Einschränkungen, die für GKE auf GDC nicht verfügbar sind:
- Connect-Gateway
- Multi-Cloud-Cluster anhängen
- Binärautorisierung
- Eingehende Multi-Cluster-Datenübertragung