Kubernetes-Cluster in GDC

In diesem Dokument werden die Kubernetes-Clusteroptionen und -funktionen beschrieben, die in Google Distributed Cloud (GDC) mit Air Gap verfügbar sind. Kubernetes-Cluster bieten einen verwalteten Kubernetes-Dienst mit Google Kubernetes Engine (GKE), mit dem Sie Containerarbeitslasten mithilfe von Industriestandard-Kubernetes-Methoden bereitstellen und ausführen können.

Dieses Dokument richtet sich an IT-Administratoren in der Gruppe der Plattformadministratoren und Anwendungsentwickler in der Gruppe der Anwendungsoperatoren, die für die Verwaltung von Containerarbeitslasten in ihrer Organisation verantwortlich sind. Weitere Informationen finden Sie unter Zielgruppen für die Dokumentation zu GDC mit Air Gap.

GKE in einer getrennten Umgebung

GKE on GDC ist ein verwalteter Kubernetes-Dienst, der die Hauptfunktionen von GKE in Ihre nicht verbundene Umgebung bringt. In der Dokumentation werden von GKE on GDC verwaltete Cluster als Kubernetes-Cluster bezeichnet. Weitere Informationen zu Kubernetes-Konzepten finden Sie unter Informationen zu Kubernetes.

Mit GKE on GDC können Sie Containerarbeitslasten in Ihrer nicht verbundenen Umgebung ähnlich wie mit GKE in der öffentlichen Google Clouderstellen und verwalten.

In der folgenden Tabelle werden Cluster in GDC und Google Cloudverglichen:

Funktion Beschreibung GKE on GDC GKE on Google Cloud
Vollständig getrennt In einer Umgebung ohne Internetverbindung einsetzbar. Ja Nein
Sicherungslösung Dienst zum Erstellen von Kopien von Daten und Konfigurationen für einen Cluster, um den Datenschutz zu gewährleisten und die Wiederherstellung nach Ausfällen, Fehlern oder Cyberangriffen zu ermöglichen. Backup for GDC Backup for GKE
Integriertes Logging und Monitoring Dienst, der das Erfassen und Analysieren von Logs mit dem Monitoring von Leistungskennzahlen kombiniert, um einen umfassenden Überblick über das Clusterverhalten zu erhalten. Prometheus, Grafana und Loki Cloud Logging und Cloud Monitoring
Verwaltete Container Registry Dienst, der Container-Images hostet und organisiert und die Infrastruktur, Verfügbarkeit und Sicherheit für die Images verwaltet. Managed Harbor Service Artifact Registry
Container-Isolation Fähigkeit, Containeranwendungen und ihre Abhängigkeiten voneinander und vom Hostsystem getrennt und unabhängig zu halten. Ja Ja
Unterstützung für GPU und TPU Hochleistungs-Computing-Einheiten, die erweiterte Verarbeitungsfunktionen ermöglichen. Nur GPUs GPUs und TPUs
Horizontales Pod-Autoscaling Automatische Anpassung der Anzahl der Pod-Replikate in einem Deployment oder einer anderen Arbeitslast basierend auf beobachteten Messwerten wie CPU- oder Arbeitsspeichernutzung. Ja Ja
Linux-Container Isolierte Umgebung zum Ausführen von Anwendungen auf einem Linux-Host. Ja Ja
UI für Cluster Grafische Oberfläche, die eine nutzerfreundliche, visuelle Möglichkeit bietet, einen Cluster zu verwalten und zu überwachen. Nur freigegebener Cluster Ja
UI für Clusterressourcen Grafische Oberfläche, die eine nutzerfreundliche, visuelle Möglichkeit bietet, die Containerarbeitslasten eines Clusters zu verwalten und zu überwachen. Schreibgeschützt Ja

Weitere Informationen zu GKE und den in der öffentlichen Google Cloudverfügbaren Funktionen finden Sie in der GKE-Dokumentation.

Vorteile von Kubernetes-Clustern

GKE on GDC bietet wichtige Vorteile für Ihre Kubernetes-Cluster, darunter:

  • Multi-Cluster-Lebenszyklusverwaltung: Stellen Sie mehrere Cluster in GDC gleichzeitig für eine Vielzahl von gehosteten Instanzen für Ihre Containerarbeitslasten bereit.
  • Vollständig unterstützte Kubernetes-Distribution: Erstellen Sie Cluster mit aktuellen Standard-Kubernetes-Features.
  • Kostentransparenz: Sie können die Nutzung und Statistiken in Echtzeit überwachen und so Ihre Kubernetes-Kosten kontinuierlich im Blick behalten.
  • Multi-Team-Verwaltung: Gewähren Sie mehreren Nutzergruppen Zugriff auf Kubernetes-Cluster, um flexible Verwaltungsgrenzen zu ermöglichen.
  • Automatisierte Kubernetes-Workflows: Verlassen Sie sich auf die automatische Knotenbereitstellung und das horizontale Pod-Autoscaling, um Ihre Containerarbeitslasten nahtlos zu verwalten.

Alle diese Funktionen sind standardmäßig in GKE on GDC enthalten und können mit Clustern verwendet werden, die vom verwalteten Kubernetes-Dienst erstellt wurden.

GDC-Clusterarchitektur

Kubernetes-Cluster sind logisch voneinander getrennt, um verschiedene Fehlerdomains und Isolationsgarantien zu bieten. In einigen Fällen sind sie sogar physisch getrennt.

Sie konfigurieren einen Kubernetes-Cluster entweder als freigegebenen Cluster oder als Standardcluster. Ein freigegebener Cluster erstreckt sich über mehrere Projekte. Ein Standardcluster ist auf ein einzelnes Projekt beschränkt. Weitere Informationen finden Sie unter Kubernetes-Clusterkonfigurationen.

Ein Kubernetes-Cluster besteht aus einer Steuerungsebene und Worker-Maschinen, die Knoten genannt 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:

Ein Kubernetes-Cluster besteht aus einer Steuerungsebene, Knoten und Diensten.

Dieses Diagramm zeigt einen Kubernetes-Cluster mit den folgenden Komponenten:

  • Steuerungsebene, die einen API-Server und vordefinierte Dienste wie Speicher und Standard-Pod-Planung umfasst.
  • Worker-Knoten, auf denen Containerarbeitslasten ausgeführt werden.
  • GDC-Dienste wie VPC-Netzwerke und Load Balancing, die vom verwalteten Dienst „GKE on GDC“ bereitgestellt werden.

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 die kubectl-Befehlszeile oder die GDC-Konsole.

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.

Die API-Anfragen teilen Kubernetes mit, was Ihr gewünschter 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-Knotenverwaltung

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 der 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.

Knoten werden in einem Knotenpool gruppiert. Dies ist eine Gruppe von Knoten in einem Cluster, die dieselbe Konfiguration und dieselben Merkmale haben. Sie können keinen einzelnen Knoten in einem Knotenpool konfigurieren.

Benutzerdefinierte Knotenpools sind nützlich, wenn Sie Pods planen müssen, die mehr Ressourcen benötigen als andere, z. B. mehr Arbeitsspeicher oder mehr lokalen Speicherplatz. Wenn Sie mehr Kontrolle über die Planung von Pods benötigen, können Sie Knotenmarkierungen verwenden.

Weitere Informationen finden Sie unter Knotenpools verwalten.

Kubernetes-Clusterkonfigurationen

Die folgenden Clusterkonfigurationen sind mit dem GKE on GDC-Dienst verfügbar, um Ihre Containerarbeitslasten in einer Organisation zu verwalten:

  • Gemeinsam genutzter Cluster: Ein Kubernetes-Cluster auf Organisationsebene, der sich über mehrere Projekte erstreckt und nicht von einem einzelnen Projekt verwaltet wird, sondern an diese angehängt ist.
  • Standardcluster: Ein Kubernetes-Cluster auf Projektebene, der Clusterressourcen innerhalb eines Projekts verwaltet und sich nicht über mehrere Projekte erstrecken kann.

Sie können den Cluster auswählen, der Ihren Anforderungen für die Verwaltung von Containerarbeitslasten am besten entspricht. Weitere Informationen finden Sie unter Kubernetes-Clusterkonfigurationen.

GPU-Arbeitslasten in einem Cluster

GDC bietet NVIDIA-GPU-Unterstützung für Kubernetes-Cluster und führt Ihre GPU-Geräte als Nutzerarbeitslasten aus. Beispielsweise möchten Sie Notebooks für künstliche Intelligenz (KI) und maschinelles Lernen (ML) möglicherweise in einer GPU-Umgebung ausführen. Sie müssen Ihren Cluster so konfigurieren, dass er GPU-Geräte unterstützt, indem Sie GPU-Maschinen für sie bereitstellen. Eine Liste der unterstützten Maschinentypen für Kubernetes-Cluster in GDC finden Sie unter Clusterknotenmaschinen.

GPUs werden statisch zugewiesen. Die ersten vier GPUs sind immer für Arbeitslasten wie vortrainierte KI- und ML-APIs vorgesehen. Diese GPUs werden nicht in einem Kubernetes-Cluster ausgeführt. Die verbleibenden GPUs sind für Kubernetes-Cluster verfügbar. KI- und ML-Notebooks werden auf Kubernetes-Clustern ausgeführt.

Achten Sie darauf, GPU-Maschinen für die richtigen Clustertypen zuzuweisen, damit Komponenten wie KI- und ML-APIs in Ihrem Cluster ausgeführt werden können. Weitere Informationen finden Sie unter Freigegebenen Cluster erstellen oder Standardcluster erstellen.

Einschränkungen für GKE on GDC

Die folgenden GKE-Funktionen sind für GKE on GDC nicht verfügbar:

  • Automatisierte Clusterverwaltung
    • Automatische Knotenreparaturen: Kubernetes-Cluster in GDC können Knoten nicht automatisch reparieren, wenn sie fehlerhaft werden.
    • Automatische Clusterupgrades: GDC-Kubernetes-Cluster können Knoten nicht automatisch mit neuen Kubernetes-Versionsupdates aktualisieren. Sie müssen einen Cluster manuell aktualisieren, um neue Kubernetes-Updates zu übernehmen.
    • Cluster-Autoscaling: Kubernetes-Cluster in GDC können ihre Knotengröße nicht automatisch an die Anforderungen der Arbeitslast anpassen.
    • GKE Autopilot: GDC bietet keinen vollständig verwalteten Betriebsmodus für Kubernetes-Cluster zur Verwaltung der Infrastruktur.
    • Vertikales Pod-Autoscaling: CPU- und Arbeitsspeicheranfragen und -limits für Pods in einem GDC-Kubernetes-Cluster können nicht automatisch an die Anforderungen der Arbeitslast angepasst werden.
  • Multi-Cloud
    • Multi-Cloud-Cluster anhängen: GDC kann keine Kubernetes-Cluster verwalten, die in anderen Cloud-Umgebungen erstellt wurden.
    • Connect-Gateway: GDC kann Cluster von anderen Cloud-Anbietern nicht mit Ihrer Google Cloud -Identität für die Authentifizierung verbinden.
    • Multi-Cluster-Ingress: Kubernetes-Cluster in GDC können keine Load-Balancing-Ressourcen über Cluster hinweg freigeben.
  • Vorgänge

Nächste Schritte