Standardmäßig ist für den normalen Betrieb von Google Distributed Cloud eine ständige Verbindung zuGoogle Cloud erforderlich. Das liegt daran, dass Cluster, die Sie mit Google Distributed Cloud erstellen, standardmäßig Cloud-Steuerungsebenencluster sind. Die Kubernetes-Steuerungsebene, die die Arbeitslasten in einem solchen Cluster orchestriert, wird in Google Cloudausgeführt.
Um die Zuverlässigkeit von Distributed Cloud zu verbessern, haben Sie die Möglichkeit, Distributed Cloud-Cluster zu erstellen, die eine lokale Steuerungsebene verwenden, die auf Ihrer Distributed Cloud-Hardware bereitgestellt wird. Wenn die Verbindung zu Google Cloud unterbrochen wird, wechseln solche Cluster in den Notfallbetrieb und Ihre Arbeitslasten werden weiterhin ausgeführt.
Nur Distributed Cloud-Cluster, die mit einer lokalen Steuerungsebene bereitgestellt wurden, können in den Survivability-Modus wechseln, wenn die Verbindung zuGoogle Cloud unterbrochen wird. Cluster, die mit einer Cloud-Steuerungsebene bereitgestellt wurden, die in Google Cloud ausgeführt wird, können nicht in den Survivability-Modus wechseln. Sie können einen vorhandenen Cluster, der eine Cloud-Steuerungsebene verwendet, nicht so neu konfigurieren, dass er eine lokale Steuerungsebene verwendet.
Wenn Sie einen Cluster mit einer lokalen Steuerungsebene erstellen, gelten die folgenden Regeln:
- Sie müssen lokale Steuerungsebenen-Cluster in einem eigenen Google Cloud Projekt erstellen. Lokale Steuerungsebenen-Cluster können nicht im selben Google Cloud Projekt mit anderen Clustertypen koexistieren, einschließlich Nicht-Distributed Cloud-Clustern. Wenn Sie lokale Steuerungsebenen-Cluster von Distributed Cloud mit anderen Clustertypen im selben Google Cloud -Projekt kombinieren, kann dies zu Datenverlust führen.
- Wenn Sie einen Knoten zwischen Distributed Cloud-Clustern neu zuweisen, wird er vollständig gelöscht und auf die Standardkonfiguration zurückgesetzt.
- Standardmäßig werden die Arbeitslasten der lokalen Steuerungsebene im Hochverfügbarkeitsmodus mit drei Replikaten ausgeführt, die sich auf drei Knoten verteilen, die automatisch von Distributed Cloud ausgewählt werden. Dies gilt, sofern nicht weniger als drei Knoten im Cluster vorhanden sind oder Sie den Cluster speziell so konfigurieren, dass ein Knoten zum Ausführen der lokalen Steuerungsebenen-Arbeitslasten verwendet wird. Sie haben auch die Möglichkeit, die drei Knoten für den Hochverfügbarkeitsmodus mit dem Flag
--control-plane-machine-filteranzugeben. Andere Knotenkonfigurationen werden nicht unterstützt. - Auf den Knoten, auf denen die Arbeitslasten der lokalen Steuerungsebene ausgeführt werden, werden auch Ihre Anwendungsarbeitslasten ausgeführt.
- Die IP-Adressen lokaler Endpunkte der Steuerungsebene sind in Ihrem lokalen Netzwerk verfügbar. Achte darauf, dass die Sicherheitskonfiguration deines lokalen Netzwerks den externen Zugriff auf diese IP-Adressen verhindert.
Im Survivability-Modus funktioniert ein Distributed Cloud-Cluster so:
- Die Steuerung von Arbeitslasten über die Google Cloud CLI, die
kubectl-Befehlszeile und die Edge Container API ist deaktiviert. - Softwareupdates für Distributed Cloud, SLOs und Hardware-Reparaturen sind nicht verfügbar.
- Begrenzte Logs und Messwerte werden mit Google Cloud synchronisiert, nachdem die Verbindung zu Google Cloud wiederhergestellt wurde.
- Wenn ein Knoten neu gestartet wird, während der Cluster von Google Cloudgetrennt ist, kann er dem Cluster erst wieder beitreten, wenn die Verbindung zu Google Cloud wiederhergestellt wurde, da sein Authentifizierungsschlüssel nicht aktualisiert werden kann.
Vorbereitung
Bevor Sie einen Distributed Cloud-Cluster mit einer lokalen Steuerungsebene erstellen können, müssen Sie die erforderlichen APIs im Zielprojekt Google Cloud aktivieren. Dazu benötigen Sie eine der folgenden Rollen im Google Cloud -Projekt:
- Inhaber (
roles/owner) - Bearbeiter (
roles/editor) - Service Usage-Administrator (
roles/serviceusage.serviceUsageAdmin)
Weitere Informationen zu diesen Rollen finden Sie unter Einfache Rollen.
Informationen zum Zuweisen von Rollen finden Sie unter Einzelne Rolle zuweisen.
Wenn Sie einen Distributed Cloud-Cluster mit einer lokalen Steuerungsebene erstellen möchten, aktivieren Sie die folgenden APIs:
anthos.googleapis.comanthosaudit.googleapis.comanthosgke.googleapis.comcloudresourcemanager.googleapis.comconnectgateway.googleapis.comcontainer.googleapis.comedgecontainer.googleapis.comgkeconnect.googleapis.comgkehub.googleapis.comgkeonprem.googleapis.comiam.googleapis.comlogging.googleapis.commonitoring.googleapis.comopsconfigmonitoring.googleapis.comserviceusage.googleapis.comstackdriver.googleapis.comstorage.googleapis.comsts.googleapis.com
Informationen zum Aktivieren von APIs finden Sie unter Dienste aktivieren.
Google Cloud SDK auf Version 450.0.0 oder höher aktualisieren
Sie müssen Ihr Google Cloud SDK auf Version 450.0.0 oder höher aktualisieren, um lokale Steuerungsebenencluster mit der Distributed Cloud-Softwareversion 1.5.0 zu erstellen. Andernfalls schlägt das Erstellen solcher Cluster fehl.
Cluster mit lokaler Steuerungsebene erstellen
Wenn Sie einen Distributed Cloud-Cluster mit einer lokalen Steuerungsebene erstellen möchten, müssen Sie beim Erstellen des Clusters die folgenden Flags übergeben:
--control-plane-node-locationweist Distributed Cloud an, die Arbeitslasten der Steuerungsebene für diesen Cluster lokal bereitzustellen. Der Wert ist der Name der Zielzone von Distributed Cloud.--control-plane-node-count(optional) gibt die Anzahl der Knoten an, auf denen die Arbeitslasten der lokalen Steuerungsebene ausgeführt werden sollen. Gültige Werte sind3für Hochverfügbarkeit und1für den Standardbetrieb. Wenn keine Angabe gemacht wird, lautet der Standardwert3.--control-plane-machine-filter(optional) gibt eine im regulären Ausdrucksformat formatierte Liste von Knoten an, auf denen die Arbeitslasten der lokalen Steuerungsebene ausgeführt werden. Wenn Sie diese Option weglassen, wählt Distributed Cloud die Knoten automatisch nach dem Zufallsprinzip aus.--control-plane-shared-deployment-policygibt an, ob Anwendungsarbeitslasten auf den Knoten ausgeführt werden können, auf denen die Arbeitslasten der lokalen Steuerungsebene ausgeführt werden. Der einzige gültige Wert istALLOWED. Wenn sie nicht angegeben wird, schlägt die Clustererstellung fehl.--external-lb-ipv4-address-poolsgibt eine durch Kommas getrennte Liste von IPv4-Adressen, Adressbereichen oder Subnetzen für eingehenden Traffic für Dienste an, die hinter dem Distributed Cloud-Load-Balancer ausgeführt werden.
Weitere Informationen zum Erstellen von Distributed Cloud-Clustern finden Sie unter Cluster erstellen.