Auf dieser Seite wird beschrieben, wie Sie einen Anthos on Bare Metal-Nutzercluster und einen Administratorcluster auf Compute Engine-VMs erstellen. Mit dem bereitgestellten Skript werden Compute Engine-VMs für die Administrator- und Nutzerclusterknoten sowie eine Administratorworkstation erstellt.
Die Admin-Workstation hostet Befehlszeilentools und Konfigurationsdateien, um Cluster während der Installation bereitzustellen. Außerdem gibt es CLI-Tools, mit denen nach der Installation mit bereitgestellten Clustern interagiert werden kann. Das Skript installiert die Befehlszeilentools auf der VM der Administratorworkstation.
Ein Nutzercluster ist ein Kubernetes-Cluster, auf dem Ihre containerisierten Arbeitslasten ausgeführt werden. Die Instanz besteht aus Knoten der Steuerungsebene und Worker-Knoten. Nutzercluster müssen einen oder mehrere Worker-Knoten enthalten, die Nutzerarbeitslasten ausführen. Ein Administratorcluster ist ein Kubernetes-Cluster, der einen oder mehrere Nutzercluster verwaltet, um das Erstellen, Aktualisieren und Löschen von Nutzerclustern zu unterstützen. Ein Administratorcluster besteht nur aus Knoten der Steuerungsebene. Weitere Informationen finden Sie unter Deployment von Administrator- und Nutzerclustern.
Das Skript konfiguriert ein VXLAN-Overlay-Netzwerk (Virtual Extensible LAN) zwischen den VMs und bereitet die VMs für die Clustererstellung vor. Optional erstellt das Skript einen Administratorcluster. Sie können den Administratorcluster aber auch selbst erstellen, um mehr über die Tools zu erfahren, die Anthos-Cluster auf Bare Metal zum Erstellen von Administratorclustern bieten.
Mit dem bereitgestellten Skript können Sie Anthos-Cluster auf Bare Metal schnell und ohne vorherige Hardware testen. Durch das Ausführen der Schritte auf dieser Seite erhalten Sie eine funktionierende Anthos-Cluster-Umgebung auf einer Bare-Metal-Testumgebung, die in Compute Engine ausgeführt wird.
Was ist die Anthos On-Prem API?
Die Anthos On-Prem API ist eine von Google Cloud gehostete API, mit der Sie den Lebenszyklus Ihrer lokalen Cluster mithilfe von Terraform und Google Cloud-Standardanwendungen verwalten können. Die Anthos On-Prem API wird in der Infrastruktur von Google Cloud ausgeführt. Terraform, die Console und die gcloud CLI sind Clients der API und verwenden die API, um Cluster in Ihrem Rechenzentrum zu erstellen.
Zum Verwalten des Lebenszyklus Ihrer Cluster muss die Anthos On-Prem API Metadaten zum Clusterstatus in Google Cloud speichern. Dazu wird die Google Cloud-Region verwendet, die Sie beim Erstellen des Clusters angeben. Mit diesen Metadaten kann die API den Clusterlebenszyklus verwalten und enthält keine arbeitslastspezifischen Daten.
Wenn Sie einen Cluster mit einem Anthos On-Prem API-Client erstellen, geben Sie ein Google Cloud-Projekt an. Nachdem der Cluster erstellt wurde, wird er automatisch in der Flotte des angegebenen Projekts registriert. Dieses Projekt wird als Flotten-Hostprojekt bezeichnet. Das Flotten-Hostprojekt kann nicht mehr geändert werden, nachdem der Cluster erstellt wurde.
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Notieren Sie sich die Projekt-ID, damit Sie eine Umgebungsvariable festlegen können, die im Skript und in den Befehlen auf dieser Seite verwendet wird. Wenn Sie ein vorhandenes Projekt auswählen, müssen Sie entweder Projektinhaber oder -bearbeiter sein.
-
Sie können das Skript in Cloud Shell oder auf Ihrem lokalen Computer ausführen, auf dem Linux oder macOS ausgeführt wird. Wenn Sie Cloud Shell nicht verwenden:
- Prüfen Sie, ob Sie die neueste Google Cloud CLI installiert haben, das Befehlszeilentool für die Interaktion mit Google Cloud. Dies gilt auch für die Beta-Komponenten der gcloud CLI.
-
Wenn Sie die Betakomponenten noch nicht haben, installieren Sie sie mit dem folgenden Befehl:
gcloud components install beta
-
Aktualisieren Sie bei Bedarf die gcloud CLI-Komponenten:
gcloud components update
Je nachdem, wie die gcloud CLI installiert wurde, wird möglicherweise die folgende Meldung angezeigt: „Sie können diese Aktion nicht ausführen, da der Komponentenmanager der Google Cloud CLI für diese Installation deaktiviert ist. Sie können den folgenden Befehl ausführen, um dasselbe Ergebnis für die Installation zu erzielen: Folgen Sie der Anleitung, um den Befehl zu kopieren und einzufügen, um die Komponenten zu aktualisieren.
- Achten Sie darauf, dass
kubectl
installiert ist. Wenn Siekubectl
installieren müssen, führen Sie den folgenden Befehl aus:gcloud components install kubectl
VM-Infrastruktur und optional den Administratorcluster erstellen
Führen Sie die folgenden Schritte aus, um das Skript einzurichten und auszuführen. Das Skript, das Sie herunterladen und ausführen, stammt aus dem Repository anthos-samples. Weitere Informationen zum Skript vor dem Ausführen finden Sie im nächsten Abschnitt Skript.
Richten Sie Umgebungsvariablen ein:
export PROJECT_ID=PROJECT_ID export ADMIN_CLUSTER_NAME=ADMIN_CLUSTER_NAME export ON_PREM_API_REGION=ON_PREM_API_REGION export ZONE=ZONE
ON_PREM_API_REGION
: Die Google Cloud-Region, in der die Anthos On-Prem API ausgeführt wird und ihre Metadaten speichert. Geben Sieus-central1
oder eine andere unterstützte Region an.ZONE
: Die Google Cloud-Zone, in der die Compute Engine-VMs erstellt werden. Sie könnenus-central1-a
oder eine der anderen Compute Engine-Zonen verwenden.
Führen Sie die folgenden Befehle aus, um das Standardprojekt und die Zone festzulegen.
gcloud config set project $PROJECT_ID gcloud config set compute/zone $ZONE
Wenn Sie den Fehler
PERMISSION_DENIED
erhalten, prüfen Sie die eingegebene Projekt-ID. Wenn die Projekt-ID korrekt ist, führen Siegcloud auth login
aus, um sich mit dem Konto in der gcloud CLI anzumelden, das Zugriff auf das Projekt hat.Rufen Sie eine Liste der verfügbaren Versionen auf, die Sie installieren können:
gcloud beta container bare-metal admin-clusters query-version-config \ --location=ON_PREM_API_REGION
Wählen Sie eine Version aus der Ausgabe des vorherigen Befehls aus und legen Sie sie in einer Umgebungsvariable fest:
export BMCTL_VERSION=BMCTL_VERSION
Klonen Sie das Repository
anthos-samples
und wechseln Sie in das Verzeichnis, in dem sich das Skript befindet:git clone https://github.com/GoogleCloudPlatform/anthos-samples cd anthos-samples/anthos-bm-gcp-bash
Führen Sie das Skript aus:
bash install_admin_cluster.sh
Wenn Sie dazu aufgefordert werden, geben Sie eine Zahl ein, um den Installationsmodus auszuwählen:
- Geben Sie 1 ein, um das Skript die VM-Infrastruktur einzurichten und den Administratorcluster zu installieren.
- Geben Sie 2 ein, wenn das Skript nur die VM-Infrastruktur einrichten soll.
Bestätigen Sie Ihre Auswahl, wenn Sie dazu aufgefordert werden.
Das Skript gibt jeden ausgeführten Befehl und den Status aus. Sobald der Vorgang abgeschlossen ist, gibt das Skript Folgendes aus, je nachdem, ob Sie den Administratorcluster installiert haben:
Administratorcluster erstellt
✅ Installation complete. Please check the logs for any errors!!! ✅ If you do not see any errors in the output log, then you now have the following setup: |---------------------------------------------------------------------------------------------------------| | VM Name | L2 Network IP (VxLAN) | INFO | |---------------------------------------------------------------------------------------------------------| | abm-admin-cluster-cp1 | 10.200.0.3 | Has control plane of admin cluster running inside | | abm-user-cluster-cp1 | 10.200.0.4 | 🌟 Ready for use as control plane for the user cluster | | abm-user-cluster-w1 | 10.200.0.5 | 🌟 Ready for use as worker for the user cluster | | abm-user-cluster-w2 | 10.200.0.6 | 🌟 Ready for use as worker for the user cluster | |---------------------------------------------------------------------------------------------------------|
Nur VMs einrichten
|---------------------------------------------------------------------------------------------------------| | VM Name | L2 Network IP (VxLAN) | INFO | |---------------------------------------------------------------------------------------------------------| | abm-admin-cluster-cp1 | 10.200.0.3 | 🌟 Ready for use as control plane for the admin cluster | | abm-user-cluster-cp1 | 10.200.0.4 | 🌟 Ready for use as control plane for the user cluster | | abm-user-cluster-w1 | 10.200.0.5 | 🌟 Ready for use as worker for the user cluster | | abm-user-cluster-w2 | 10.200.0.6 | 🌟 Ready for use as worker for the user cluster | |---------------------------------------------------------------------------------------------------------|
Das Skript
Klicken Sie in der nächsten Zeile auf install_admin_cluster.sh
zu erfahren.
Das Skript
Das Skript automatisiert die folgenden manuellen Schritte:
-
Erstellt ein Dienstkonto mit dem Namen
baremetal-gcr
und gewährt dem Dienstkonto zusätzliche Berechtigungen, damit nicht mehrere Dienstkonten für verschiedene APIs und Dienste benötigt werden. -
Aktiviert die folgenden Google Cloud APIs:
anthos.googleapis.com anthosaudit.googleapis.com anthosgke.googleapis.com cloudresourcemanager.googleapis.com connectgateway.googleapis.com container.googleapis.com gkeconnect.googleapis.com gkehub.googleapis.com gkeonprem.googleapis.com iam.googleapis.com logging.googleapis.com monitoring.googleapis.com opsconfigmonitoring.googleapis.com serviceusage.googleapis.com stackdriver.googleapis.com storage.googleapis.com
-
Erstellt die folgenden VMs:
- Eine VM für die Administratorworkstation. Die Administratorworkstation hat über SSH Zugriff auf alle anderen Clusterknoten.
- Eine VM für den Knoten der Steuerungsebene des Administratorclusters.
- Zwei VMs für die Worker-Knoten des Nutzerclusters.
- Eine VM für den Knoten der Steuerungsebene des Nutzerclusters.
- Erstellt ein VXLAN-Overlay-Netzwerk (Virtual Extensible LAN) für die Ebene-2-Verbindung zwischen den VMs. VXLAN ist nicht dauerhaft, wenn Sie eine VM-Instanz neu starten, wird das Netzwerk gelöscht. Das Netzwerk befindet sich im Subnetz 10.200.0.0/24. Die Ebene-2-Konnektivität ist eine Voraussetzung für den gebündelten Load-Balancer.
-
Installiert die folgenden Tools auf der Administratorworkstation:
bmctl
kubectl
- Docker
Das Skript lädt auch den Dienstkontoschlüssel für das Dienstkonto
baremetal-gcr
auf die Administrator-Workstation herunter. -
Sichert, dass
root@10.200.0.x
von der Administratorworkstation die folgenden Aufgaben ausführt:- Generieren Sie einen neuen SSH-Schlüssel auf der Administratorworkstation.
- Fügt den öffentlichen Schlüssel allen anderen VMs in der Bereitstellung hinzu.
-
Optional erstellt das Skript den Administratorcluster mit der folgenden Konfigurationsdatei:
Wenn das Skript vom Administratorcluster erstellt werden soll, wird es über SSH verwendet, um sich bei der Administratorworkstation als Root-Nutzer anzumelden. Als Nächstes führt das Skript das
bmctl
-Befehlszeilentool aus, um den Administratorcluster zu erstellen. Dies ist eines der Tools, mit dem Sie Administratorcluster erstellen können.Wenn Anthos-Cluster auf Bare Metal Cluster erstellen, wird ein Kubernetes-in-Docker-Cluster (Art) auf der Administratorworkstation bereitgestellt. Dieser Bootstrap-Cluster hostet die Kubernetes-Controller, die zum Erstellen von Clustern erforderlich sind, und wird zum Erstellen des Administratorclusters verwendet. Bei der Erstellung werden relevante Controller aus dem Bootstrap-Cluster in den Administratorcluster verschoben. Wenn Sie nichts anderes angeben, wird der Bootstrap-Cluster nach Abschluss der Clustererstellung entfernt. Der Bootstrap-Cluster erfordert, dass Docker Container-Images abruft.
Optional: Administratorcluster erstellen
Wenn das Skript vom Administratorcluster erstellt wurde, fahren Sie mit dem nächsten Abschnitt Administratorcluster überprüfen fort. Andernfalls folgen Sie den Schritten in diesem Abschnitt, um einen Bootstrap-Cluster und den Administratorcluster zu erstellen.
Bevor Sie den Administratorcluster erstellen, müssen Sie den Befehl bmctl register bootstrap
auf Ihrer Administratorworkstation ausführen. Mit diesem Befehl wird auf der Administrator-Workstation ein temporärer Cluster in Kubernetes in Docker (Art) bereitgestellt. Dieser Bootstrap-Cluster hostet die Kubernetes-Controller, die zum Erstellen des Administratorclusters erforderlich sind. Wenn Sie den Administratorcluster erstellen, stellen die Controller des Bootstrap-Clusters Knoten bereit, führen Preflight-Prüfungen aus und registrieren den Administratorcluster in der Flotte. Der Bootstrap-Cluster wird nach dem Erstellen des Clusters automatisch gelöscht.
Console
Rufen Sie in der Google Cloud Console die Anthos-Seite Cluster auf.
Wählen Sie unbedingt
PROJECT_ID
aus der Projektliste aus.Klicken Sie auf Cluster erstellen.
Klicken Sie im Dialogfeld auf Lokal.
Klicken Sie neben Bare Metal auf Konfigurieren. Auf der Seite Voraussetzungen werden die Anforderungen für Ihre Administratorworkstation und Ihre Clusterknotenmaschinen angezeigt.
Achten Sie darauf, dass Administratorcluster erstellen ausgewählt ist.
Klicken Sie in der linken Navigationsleiste auf Bootstrap-Umgebung installieren.
Geben Sie
ADMIN_CLUSTER_NAME
als Name des Administratorclusters ein. Der Name des Bootstrap-Clusters wird abgeleitet, indem startstrap- dem Namen des Administratorclusters vorangestellt wird.Wählen Sie
VERSION
als Version für Ihren Administratorcluster aus. Das Skript hat diese Version desbmctl
-Befehlszeilentools auf die Administratorworkstation heruntergeladen. Die Anthos-Cluster auf Bare Metal-Version, die Sie installieren, müssen mit der Versionbmctl
übereinstimmen.Wählen Sie im Feld Google Cloud API-Standort ON_PREM_API_REGION aus der Liste aus. Diese Einstellung gibt die Region an, in der die Anthos On-Prem API ausgeführt wird, und die Region, in der Folgendes gespeichert wird:
- Die Clustermetadaten, die die Anthos On-Prem API zum Verwalten des Clusterlebenszyklus benötigt
- Cloud Logging- und Cloud Monitoring-Daten von Systemkomponenten
- Das von Cloud-Audit-Logs erstellte Administrator-Audit-Log
Der Clustername, das Projekt und der Standort geben den Cluster in Google Cloud eindeutig an.
Führen Sie die Schritte im nächsten Abschnitt anstelle der Schritte in der Console aus, um den Bootstrap-Cluster zu erstellen. Lassen Sie die Console-Seite geöffnet, da Sie hierher zurückkehren, um den Administratorcluster zu erstellen.
gcloud-CLI
Öffnen Sie ein neues Terminalfenster. Verwenden Sie das zweite Terminalfenster, um eine Verbindung zur Administratorworkstation herzustellen, um den Bootstrap-Cluster zu erstellen. Verwenden Sie das erste Terminalfenster, um den gcloud CLI-Befehl auszuführen und den Administratorcluster zu erstellen.
Bootstrap-Cluster erstellen
Führen Sie auf der Administratorworkstation die folgenden Schritte aus.
Stellen Sie eine SSH-Verbindung zur Administrator-Workstation als Root her:
gcloud compute ssh root@abm-ws --zone ZONE
Sie können alle Meldungen zum Aktualisieren der VM ignorieren und diese Anleitung ausführen. Wenn Sie die VMs als Testumgebung behalten möchten, sollten Sie das Betriebssystem aktualisieren oder auf den nächsten Release upgraden, wie in der Ubuntu-Dokumentation beschrieben.
Legen Sie die Nutzeranmeldedaten als Standardanmeldedaten für Anwendungen fest:
gcloud auth application-default login
Folgen Sie der Anleitung, um Ihr Google-Konto für ADC auszuwählen.
Erstellen Sie den Bootstrap-Cluster.
bmctl register bootstrap \ --ssh-key=/root/.ssh/id_rsa \ --name=bootstrap-ADMIN_CLUSTER_NAME \ --project-id=PROJECT_ID
Nachdem bmctl
den Bootstrap-Cluster erstellt hat, sollte die Ausgabe in etwa so aussehen:
[2023-03-22 17:35:24+0000] Waiting for the temporary cluster to be registered... OK [2023-03-22 17:35:37+0000] Please go to https://console.cloud.google.com/home/dashboard?project=example-project-12345 to create the cluster [2023-03-22 17:35:37+0000] Waiting for preflight checks and cluster to run..
Erstellen Sie den Administratorcluster.
Console
Klicken Sie auf der Seite Bootstrap-Umgebung installieren im Abschnitt Bootstrap-Umgebung von der Administratorworkstation auf Verbindung prüfen.
Bei Erfolg wird in der Konsole
Verbindung hergestellt angezeigt.Die Verbindung zum Bootstrap-Cluster muss hergestellt werden, bevor Sie fortfahren können. Wenn die Verbindung nicht hergestellt wurde, prüfen Sie die Argumente, die Sie für den Befehl
bmctl register bootstrap
angegeben haben:Achten Sie darauf, dass der Wert für
--name
mit dem abgeleiteten Bootstrap-Namen übereinstimmt, der im Abschnitt Bootstrap-Umgebung – Grundlagen angezeigt wird.Achten Sie darauf, dass der Wert für
--project-id
mit der ID des Projekts übereinstimmt, das Sie in der Console ausgewählt haben.
Wenn Sie den Bootstrap-Clusternamen oder die Projekt-ID ändern müssen, geben Sie
Ctrl-C
ein, umbmctl register bootstrap
zu beenden und den Befehl noch einmal auszuführen.Klicken Sie in der linken Navigationsleiste auf Netzwerk.
Geben Sie im Abschnitt Steuerungsebene Folgendes in das Feld IP-Adresse 1 der Steuerungsebene ein:
10.200.0.3
Dies ist die IP-Adresse der VM „abm-admin-cluster-cp“ im VXLAN, das vom Skript erstellt wurde.
Im Abschnitt Load-Balancer muss Gebündelt ausgewählt sein.
Geben Sie im Abschnitt Virtuelle IP-Adressen (VIPs) Folgendes in das Feld Virtuelle IP-Adresse der Steuerungsebene ein:
10.200.0.48
Klicken Sie auf Bestätigen und erstellen.
In der Console werden Statusmeldungen angezeigt, während die Einstellungen geprüft und der Cluster erstellt wird.
gcloud-CLI
Achten Sie darauf, dass die zuvor definierten Umgebungsvariablen die richtigen Werte haben. Auch wenn der Beispielbefehl Platzhalter enthält, müssen diese mit den Umgebungsvariablen übereinstimmen, die das Skript verwendet hat.
echo $PROJECT_ID echo $ADMIN_CLUSTER_NAME echo $ON_PREM_API_REGION echo $BMCTL_VERSION
Prüfen Sie, ob der Bootstrap-Cluster als Mitglied der Flotte registriert wurde:
gcloud container fleet memberships list \ --project=PROJECT_ID
Wenn der Bootstrap-Cluster nicht aufgeführt ist, prüfen Sie den Namen des Bootstrap-Clusters und die Projekt-ID, die Sie für
bmctl register bootstrap
angegeben haben. Wenn Sie den Namen des Bootstrap-Clusters oder die Projekt-ID ändern müssen, geben SieCtrl-C
ein, umbmctl register bootstrap
zu beenden und den Befehl noch einmal auszuführen.Erstellen Sie den Administratorcluster mit dem gebündelten Load-Balancer:
gcloud beta container bare-metal admin-clusters create ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION \ --version=BMCTL_VERSION \ --max-pods-per-node=110 \ --control-plane-vip=10.200.0.48 \ --control-plane-load-balancer-port=443 \ --control-plane-node-configs node-ip=10.200.0.3 \ --island-mode-service-address-cidr-blocks=10.96.0.0/20 \ --island-mode-pod-address-cidr-blocks=192.168.0.0/16 \ --lvp-share-path=/mnt/localpv-share \ --lvp-share-storage-class=local-shared \ --lvp-node-mounts-config-path=/mnt/localpv-disk \ --lvp-node-mounts-config-storage-class=local-disks
Gehen Sie im vorherigen Befehl so vor:
--control-plane-vip
: Ist auf10.200.0.48
festgelegt. Dies ist die virtuelle IP-Adresse (VIP) auf dem Load-Balancer für den Kubernetes API-Server des Clusters.--control-plane-node-configs
:node-ip
ist auf10.200.0.3
gesetzt. Dies ist die IP-Adresse der VM „abm-admin-cluster-cp“ in dem vom Skript erstellten VXLAN.
Eine vollständige Liste der Flags und ihrer Beschreibungen finden Sie in der Referenz zur gcloud CLI.
Die Ausgabe des Befehls sieht in etwa so aus:
Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
In der Beispielausgabe ist der String
operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179
derOPERATION_ID
des Vorgangs mit langer Ausführungszeit. Sie können den Status des Vorgangs ermitteln, indem Sie den folgenden Befehl in einem anderen Terminalfenster ausführen:gcloud beta container bare-metal operations describe OPERATION_ID \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION
Details zum Clustererstellungsprozess werden auf Ihrer Administratorworkstation ausgegeben. Vor dem Erstellen des Clusters führt bmctl
eine Reihe von Preflight-Prüfungen aus, um die Konfiguration zu überprüfen. Wenn die Preflight-Prüfungen erfolgreich sind, wird Folgendes angezeigt:
[2023-03-22 23:12:47+0000] Waiting for cluster kubeconfig to become ready OK [2023-03-22 23:15:47+0000] Writing kubeconfig file [2023-03-22 23:15:47+0000] kubeconfig of cluster being created is present at bmctl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig [2023-03-22 23:15:47+0000] Please restrict access to this file as it contains authentication credentials of your cluster. [2023-03-22 23:15:47+0000] Waiting for cluster to become ready OK [2023-03-22 23:20:17+0000] Please run [2023-03-22 23:20:17+0000] kubectl --kubeconfig bmctl-workspace/abm-cluster-1/abm-cluster-1-kubeconfig get nodes [2023-03-22 23:20:17+0000] to get cluster nodes status. [2023-03-22 23:20:17+0000] Waiting for node pools to become ready OK [2023-03-22 23:20:37+0000] Waiting for metrics to become ready in GCP OK [2023-03-22 23:25:38+0000] Waiting for cluster API provider to install in the created admin cluster OK [2023-03-22 23:25:48+0000] Moving admin cluster resources to the created admin cluster [2023-03-22 23:25:51+0000] Waiting for node update jobs to finish OK [2023-03-22 23:27:41+0000] Flushing logs... OK [2023-03-22 23:27:41+0000] Deleting membership... OK [2023-03-22 23:27:42+0000] Deleting bootstrap cluster.
Administratorcluster prüfen
Sie finden die Datei kubeconfig
Ihres Administratorclusters auf der Administratorworkstation im Verzeichnis bmctl-workspace
des Stammkontos. Führen Sie die folgenden Schritte aus, um Ihre Bereitstellung zu überprüfen.
Wenn das Skript vom Administratorcluster erstellt wurde, stellen Sie eine SSH-Verbindung zur Workstation des Administrators her:
gcloud compute ssh root@abm-ws --zone ZONE
Sie können alle Meldungen zum Aktualisieren der VM ignorieren und diese Anleitung ausführen. Wenn Sie die VMs als Testumgebung behalten möchten, sollten Sie das Betriebssystem aktualisieren oder auf den nächsten Release upgraden, wie in der Ubuntu-Dokumentation beschrieben.
Legen Sie die Umgebungsvariable
KUBECONFIG
mit dem Pfad zur Konfigurationsdatei des Clusters fest, umkubectl
-Befehle für den Cluster auszuführen.export clusterid=ADMIN_CLUSTER_NAME export KUBECONFIG=$HOME/bmctl-workspace/$clusterid/$clusterid-kubeconfig kubectl get nodes
Die Ausgabe sieht in etwa so aus:
NAME STATUS ROLES AGE VERSION abm-admin-cluster-cp Ready control-plane,master 91m v1.24.2-gke.1900
Legen Sie den aktuellen Kontext in einer Umgebungsvariablen fest:
export CONTEXT="$(kubectl config current-context)"
Führen Sie dazu den folgenden
gcloud
-Befehl aus. Mit diesem Befehl wird Folgendes ausgeführt:- Gewährt Ihrem Nutzerkonto die Rolle
clusterrole/cluster-admin
von Kubernetes im Cluster. - Konfiguriert den Cluster so, dass Sie
kubectl
-Befehle auf Ihrem lokalen Computer ausführen können, ohne eine SSH-Verbindung zur Administratorworkstation herstellen zu müssen. - Ermöglicht die Anmeldung im Cluster in der Console mit Ihrer Google-Identität.
Ersetzen Sie
YOUR_EMAIL_ADDRESS
durch die E-Mail-Adresse, die mit Ihrem Google Cloud-Konto verknüpft ist. Beispiel:--users=alex@example.com
.gcloud container fleet memberships generate-gateway-rbac \ --membership=ADMIN_CLUSTER_NAME \ --role=clusterrole/cluster-admin \ --users=YOUR_EMAIL_ADDRESS \ --project=PROJECT_ID \ --kubeconfig=$KUBECONFIG \ --context=$CONTEXT\ --apply
Die Ausgabe dieses Befehls sieht so aus, weil er gekürzt wurde:
Validating input arguments. Specified Cluster Role is: clusterrole/cluster-admin Generated RBAC policy is: -------------------------------------------- ... Applying the generate RBAC policy to cluster with kubeconfig: /root/bmctl-workspace/ADMIN_CLUSTER_NAME/ADMIN_CLUSTER_NAME-kubeconfig, context: ADMIN_CLUSTER_NAME-admin@ADMIN_CLUSTER_NAME Writing RBAC policy for user: YOUR_EMAIL_ADDRESS to cluster. Successfully applied the RBAC policy to cluster.
- Gewährt Ihrem Nutzerkonto die Rolle
Wenn Sie fertig sind, geben Sie exit ein, um sich von der Administratorworkstation abzumelden.
Führen Sie auf Ihrem lokalen Computer den folgenden Befehl aus, um den Eintrag „kubeconfig“ abzurufen, der über das Connect-Gateway auf den Cluster zugreifen kann:
gcloud container fleet memberships get-credentials ADMIN_CLUSTER_NAME
Die Ausgabe sieht in etwa so aus:
Starting to build Gateway kubeconfig... Current project_id: PROJECT_ID A new kubeconfig entry "connectgateway_PROJECT_ID_global_ADMIN_CLUSTER_NAME" has been generated and set as the current context.
Sie können jetzt
kubectl
-Befehle über das Connect-Gateway ausführen:kubectl get nodes
Die Ausgabe sieht in etwa so aus:
NAME STATUS ROLES AGE VERSION abm-admin-cluster-cp Ready control-plane,master 94m v1.24.2-gke.1900
Wenn das Skript vom Administratorcluster erstellt wurde, führen Sie den folgenden Befehl aus, um den Cluster für die Anthos On-Prem API zu registrieren:
gcloud beta container bare-metal admin-clusters enroll ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --admin-cluster-membership=projects/PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \ --location=ON_PREM_API_REGION
Wenn Sie den Cluster erstellt haben, wird er automatisch für die Anthos On-Prem API registriert.
Nutzercluster erstellen
Beim Erstellen des L2-VXLAN für die VMs hat er die folgenden IP-Adressen im Netzwerk 10.200.0.0/24 zugewiesen. Sie verwenden diese IP-Adressen, wenn Sie Netzwerk- und Knotenpooleinstellungen für den Nutzercluster konfigurieren.
VM-Name | Netzwerk-IP-Adresse | Knotenbeschreibung |
---|---|---|
abm-admin-cluster-cp1 | 10.200.0.3 | Knoten der Steuerungsebene für den Administratorcluster |
abm-user-cluster-cp1 | 10.200.0.4 | Knoten der Steuerungsebene für den Nutzercluster |
abm-user-cluster-w1 | 10.200.0.5 | Worker-Knoten für den Nutzercluster |
abm-user-cluster-w2 | 10.200.0.6 | Einen anderen Worker-Knoten für den Nutzercluster |
Sie können die Google Cloud Console, die Google Cloud CLI oder Terraform verwenden, um den Nutzercluster zu erstellen.
Console
So erstellen Sie einen Nutzercluster in der Console:
Rufen Sie in der Console die Seite "Anthos-Cluster" auf.
Achten Sie darauf, dass das Google Cloud-Projekt ausgewählt ist, in dem Sie den Administratorcluster erstellt haben. Der Administratorcluster sollte in der Liste angezeigt werden.
Klicken Sie auf Cluster erstellen.
Klicken Sie im Dialogfeld auf Lokal.
Klicken Sie neben Bare Metal auf Konfigurieren.
Klicken Sie in der linken Navigationsleiste auf Clustergrundlagen.
Clustergrundlagen
Geben Sie einen Namen für den Nutzercluster ein oder verwenden Sie den Standardwert.
Achten Sie darauf, dass der neu erstellte Administratorcluster ausgewählt ist. Für die restlichen Einstellungen auf dieser Seite können Sie die Standardeinstellungen verwenden.
Klicken Sie in der linken Navigationsleiste auf Netzwerk.
Netzwerk
Geben Sie im Abschnitt Steuerungsebene Folgendes in das Feld Knoten der Steuerungsebene 1 ein:
10.200.0.4
Dies ist die IP-Adresse der VM „abm-user-cluster-cp1“ im VXLAN, das vom Skript erstellt wurde.
Verwenden Sie im Abschnitt Load-Balancer den Standard-Load-Balancer, der mit MetalLB gebündelt ist.
Geben Sie im Abschnitt Neuer Adresspool den folgenden IP-Adressbereich in das Feld IP-Adressbereich 1 ein:
10.200.0.51-10.200.0.70
Klicken Sie auf Fertig.
Geben Sie im Abschnitt Virtuelle IP-Adressen die folgende IP-Adresse in das Feld Virtuelle IP-Adresse der Steuerungsebene ein:
10.200.0.50
Geben Sie für die Ingress VIP die folgende IP-Adresse ein:
10.200.0.51
Verwenden Sie die Standard-IP-Adressen im Abschnitt Dienst- und Pod-CIDRs.
Klicken Sie in der linken Navigationsleiste auf Standardpool.
Knotenpool erstellen
Ihr Cluster muss mindestens einen Knotenpool für Worker-Knoten haben. Ein Knotenpool ist eine Vorlage für die in diesem Cluster erstellten Gruppen von Worker-Knoten.
Geben Sie in das Feld Knotenadresse 1 die folgende IP-Adresse ein:
10.200.0.5
Dies ist die IP-Adresse der VM „abm-user-cluster-w1“ im VXLAN, das vom Skript erstellt wurde.
Cluster erstellen
Klicken Sie auf Bestätigen und erstellen, um den Nutzercluster zu erstellen.
Das Erstellen des Nutzerclusters dauert 15 Minuten oder länger. In der Console werden Statusmeldungen angezeigt, während die Einstellungen geprüft und der Cluster erstellt wird.
Wenn bei der Konfiguration ein Problem auftritt, wird in der Console eine Fehlermeldung angezeigt. Diese sollte klar genug sein, dass Sie das Konfigurationsproblem beheben können, und noch einmal versuchen, den Cluster zu erstellen.
Klicken Sie auf Details anzeigen, um eine Seitenleiste aufzurufen. Klicken Sie auf
, um den Detailbereich zu schließen.Beim Erstellen des Clusters wird Clusterstatus: aktiv angezeigt.
Nachdem der Cluster erstellt wurde, klicken Sie auf
Cluster, um zur Seite Cluster zurückzukehren.
gcloud-CLI
Verwenden Sie den folgenden Befehl, um einen Nutzercluster zu erstellen:
gcloud beta container bare-metal clusters create
Nachdem Sie den Cluster erstellt haben, müssen Sie mit dem folgenden Befehl mindestens einen Knotenpool erstellen:
gcloud beta container bare-metal node-pools create
So erstellen Sie den Nutzercluster:
Achten Sie darauf, dass die zuvor definierten Umgebungsvariablen die richtigen Werte haben. Auch wenn der Beispielbefehl Platzhalter enthält, müssen diese mit den Umgebungsvariablen übereinstimmen, die das Skript verwendet hat.
echo $PROJECT_ID echo $ADMIN_CLUSTER_NAME echo $ON_PREM_API_REGION echo $BMCTL_VERSION
Führen Sie den folgenden Befehl aus, um den Nutzercluster zu erstellen. Ersetzen Sie Folgendes:
USER_CLUSTER_NAME
: Der Name des Clusters.Achten Sie darauf, dass
--admin-users
auf die E-Mail-Adresse festgelegt ist, die mit Ihrem Google-Konto verknüpft ist, damit Sie den Cluster verwalten können.
Die restlichen Flag-Werte wurden für Sie ausgefüllt. Scrollen Sie bei Bedarf, um zu prüfen, ob das Flag
--admin-cluster-membership
den richtigen Wert für den Namen des Administratorclusters hat. Dies ist das letzte Segment im vollständig angegebenen Mitgliedschaftsnamen.gcloud beta container bare-metal clusters create USER_CLUSTER_NAME \ --project=PROJECT_ID \ --admin-cluster-membership=projects/PROJECT_ID/locations/global/memberships/ADMIN_CLUSTER_NAME \ --location=ON_PREM_API_REGION \ --version=BMCTL_VERSION \ --admin-users=YOUR_EMAIL_ADDRESS \ --metal-lb-address-pools='pool=lb-pool-1,manual-assign=True,addresses=10.200.0.51-10.200.0.70' \ --control-plane-node-configs='node-ip=10.200.0.4' \ --control-plane-vip=10.200.0.50 \ --control-plane-load-balancer-port=443 \ --ingress-vip=10.200.0.51 \ --island-mode-service-address-cidr-blocks=10.96.0.0/20 \ --island-mode-pod-address-cidr-blocks=192.168.0.0/16 \ --lvp-share-path=/mnt/localpv-share \ --lvp-share-storage-class=local-shared \ --lvp-node-mounts-config-path=/mnt/localpv-disk \ --lvp-node-mounts-config-storage-class=local-disks
In der folgenden Liste werden die Flags beschrieben:
--project
: Die ID des Projekts, in dem der Nutzercluster registriert wird. Dieses Projekt wird als Flotten-Hostprojekt bezeichnet.--admin-cluster-membership
: Der vollständig angegebene Name des Administratorclusters, der den Administratorcluster in der Flotte identifiziert.--location
: Die Google Cloud-Region, in der die Anthos On-Prem API ausgeführt wird und ihre Metadaten speichert.--version
: Die Version von Anthos-Clustern auf Bare Metal.--admin-users
: Geben Sie Ihre E-Mail-Adresse an, um die Kubernetes-Richtlinien für die rollenbasierte Zugriffssteuerung (Role-based Access Control, RBAC) zu erhalten, die Ihnen vollständigen Administratorzugriff auf den Cluster gewähren.--metal-lb-address-pools
: Die Adresspoolkonfiguration für den gebündelten MetalLB-Load-Balancer. Der IP-Adressbereich muss sich in dem Netzwerk10.200.0.0/24
befinden, das vom Skript erstellt wurde. Der Adressbereich darf weder die IP-Adressen enthalten, die den VMs zugewiesen sind, noch die IP-Adresse der Steuerungsebene. Die virtuelle IP-Adresse für eingehenden Traffic muss sich in diesem Bereich befinden.--control-plane-node-configs
: Die Knotenkonfiguration der Steuerungsebene für den Nutzercluster. Der Wert fürnode-ip
ist10.200.0.4
. Das ist die IP-Adresse, die das Skript der VMabm-user-cluster-cp1
zugewiesen hat.--control-plane-vip
: Die virtuelle IP-Adresse für die Steuerungsebene. Der Wert10.200.0.50
befindet sich im10.200.0.0/24
-Netzwerk, das vom Skript erstellt wurde. Es überschneidet sich jedoch nicht mit dem IP-Adressbereich, der für die Metal-Load-Balancer-Adresspools verwendet wird.--control-plane-load-balancer-port
: Der Port, über den der Load-Balancer die Steuerungsebene bereitstellt. Sie können einen anderen Wert konfigurieren. Port443
ist jedoch der Standardport für HTTPS-Verbindungen.--ingress-vip
: Die virtuelle IP-Adresse für den Dienst für eingehenden Traffic. Diese IP-Adresse muss sich im IP-Adressbereich befinden, der für die MetalLB-Load-Balancer-Adresspools verwendet wird.--island-mode-service-address-cidr-blocks
: Ein Bereich von IP-Adressen im CIDR-Format, der für Dienste im Nutzercluster verwendet werden soll. Im Beispielbefehl wurde10.96.0.0/20
verwendet. Dies ist der von der Console bereitgestellte Standardwert. Der CIDR-Bereich muss zwischen /24 und /12 liegen, wobei /12 die meisten IP-Adressen bietet. Für IP-Adressen empfehlen wir einen Bereich im IP-Adressbereich für private Internets, wie unter RFC 1918 definiert.--island-mode-pod-address-cidr-blocks
: Ein Bereich von IP-Adressen im CIDR-Format, der für Pods im Nutzercluster verwendet werden soll. Im Beispielbefehl wurde192.168.0.0/16
verwendet. Dies ist der von der Console bereitgestellte Standardwert. Der CIDR-Bereich muss zwischen /18 und /8 liegen, wobei /8 die meisten IP-Adressen bietet. Wir empfehlen die Verwendung eines Bereichs im IP-Adressbereich für private Internets, wie in RFC 1918 definiert.--lvp-share-path
: Dies ist der Hostcomputer-Pfad, unter dem Unterverzeichnisse erstellt werden können. Für jedes Unterverzeichnis wird ein lokales PersistentVolume (PV) erstellt.--lvp-share-storage-class
: Dies ist die AppEngine, die zum Erstellen von nichtflüchtigen Volumes verwendet werden soll. Die StorageClass wird während der Clustererstellung erstellt.--lvp-node-mounts-config-path
: Dies ist der Pfad zum Hostcomputer, in dem bereitgestellte Laufwerke erkannt werden können. Für jede Bereitstellung wird ein lokales PersistentVolume (PV) erstellt.--lvp-node-mounts-config-storage
: Die Speicherklasse, mit der PVs bei der Clustererstellung erstellt werden.
Nachdem Sie den Befehl ausgeführt haben, sieht die Ausgabe so aus:
Waiting for operation [projects/PROJECT_ID/locations/ON_PREM_API_REGION/operations/operation-1678304606537-5f668bde5c57e-341effde-b612ff8a] to complete...
In der Beispielausgabe ist der String operation-1678304606537-5f668bde5c57e-341effde-b612ff8a
der OPERATION_ID
des Vorgangs mit langer Ausführungszeit.
Kopieren Sie den OPERATION_ID
aus der Ausgabe in den folgenden Befehl, um den Status des Vorgangs zu ermitteln. Öffnen Sie ein weiteres Terminalfenster und führen Sie den Befehl aus.
gcloud beta container bare-metal operations describe OPERATION_ID \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION
Das Erstellen des Clusters dauert etwa 15 Minuten oder länger. Während der Cluster erstellt wird, können Sie den vorherigen Befehl immer wieder ausführen, um den aktuellen Status abzurufen.
Wenn der Cluster erstellt wurde, wird eine Ausgabe wie diese angezeigt:
Created Anthos cluster on bare metal [https://gkeonprem.googleapis.com/v1/projects/PROJECT_ID/locations/ON_PREM_API_REGION/bareMetalClusters/USER_CLUSTER_NAME].
Knotenpool erstellen
Nachdem der Cluster erstellt wurde, führen Sie den folgenden Befehl aus, um einen Knotenpool zu erstellen. Ersetzen Sie NODE_POOL_NAME
durch einen Namen für den Knotenpool und achten Sie darauf, dass der Platzhalter für das Flag --cluster
weiterhin auf den Namen des Nutzerclusters festgelegt ist.
gcloud beta container bare-metal node-pools create NODE_POOL_NAME \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION \ --node-configs='node-ip=10.200.0.5'
-node-configs
: Dernode-ip
zugewiesene Wert ist die IP-Adresse der VM „abm-user-cluster-w1“ im VXLAN, der vom Skript erstellt wurde.
Nachdem Sie den Befehl ausgeführt haben, sieht die Ausgabe so aus:
Waiting for operation [projects/PROJECT_ID/locations/ON_PREM_API_REGION/operations/operation-1678308682052-5f669b0d132cb-6ebd1c2c-816287a7] to complete...
Das Erstellen des Knotenpools dauert etwa fünf Minuten. Wenn der Knotenpool erstellt wird, sollte die Ausgabe so aussehen:
Created node pool in Anthos cluster on bare metal [https://gkeonprem.googleapis.com/v1/projects/PROJECT_ID/locations/ON_PREM_API_REGION/bareMetalClusters/USER_CLUSTER_NAME/bareMetalNodePools/NODE_POOL_NAME].
Weitere Befehle für Nutzercluster
Neben dem Erstellen von Clustern gibt es weitere gcloud CLI-Befehle, die Sie ausführen können:
- So listen Sie Nutzercluster auf:
gcloud beta container bare-metal clusters list \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION
- So beschreiben Sie einen Nutzercluster:
gcloud beta container bare-metal clusters describe USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION
Weitere Informationen finden Sie unter gcloud beta container bare-metalcluster.
Weitere Knotenpoolbefehle
Neben dem Erstellen von Knotenpools können Sie auch andere gcloud CLI-Befehle verwenden, zum Beispiel:
- So listen Sie Knotenpools auf:
gcloud beta container bare-metal node-pools list \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION
- So beschreiben Sie einen Knotenpool:
gcloud beta container bare-metal node-pools describe NODE_POOL_NAME \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION
Weitere Informationen finden Sie unter gcloud beta container bare-metal node-pools.
Terraform
Mit dem folgenden grundlegenden Konfigurationsbeispiel können Sie einen Nutzercluster mit gebündeltem MetalLB-Load-Balancer erstellen. Weitere Informationen finden Sie in der Referenzdokumentation zu google_gkeonprem_bare_metal_cluster
.
Wechseln Sie in dem Verzeichnis, in dem Sie
anthos-samples
geklont haben, in das Verzeichnis, in dem sich das Terraform-Beispiel befindet:cd anthos-samples/anthos-onprem-terraform/abm_user_cluster_metallb
Das Beispiel enthält eine Beispielvariablendatei, die an
main.tf
übergeben wird.Erstellen Sie eine Kopie der Datei
terraform.tfvars.sample
:cp terraform.tfvars.sample terraform.tfvars
Ändern Sie die Parameterwerte in
terraform.tfvars
und speichern Sie die Datei.In der folgenden Liste werden die Variablen beschrieben:
project_id
: Die ID des Projekts, in dem der Nutzercluster registriert wird. Dieses Projekt wird als Flotten-Hostprojekt bezeichnet.region
: Die Google Cloud-Region, die Sie zu Beginn der Anleitung festgelegt haben. Führen Sieecho $ON_PREM_API_REGION
aus, um den Wert zu erhalten.admin_cluster_name
: Der Name des Administratorclusters, den Sie zu Beginn dieser Anleitung festgelegt haben. Führen Sie echo$ADMIN_CLUSTER_NAME
aus, um den Wert zu erhalten.bare_metal_version
: Die Anthos-Cluster auf Bare Metal-Version für Ihren Nutzercluster. Führen Sieecho $BMCTL_VERSION
aus, um den Wert zu erhalten, den Sie für den Administratorcluster verwendet haben. Wenn Sie möchten, können Sie eine Version angeben, die maximal eine Nebenversion älter als die Version des Administratorclusters ist. Die Version des Nutzerclusters darf nicht höher als die Version des Administratorclusters sein.cluster_name
: Sie können den Namen entweder in der TVARS-Datei für den Nutzercluster verwenden oder einen Namen Ihrer Wahl angeben. Der Name kann nach dem Erstellen des Clusters nicht mehr geändert werden.admin_user_emails
: Eine Liste der E-Mail-Adressen der Nutzer, denen Administratorberechtigungen für den Cluster gewährt werden sollen. Fügen Sie unbedingt Ihre E-Mail-Adresse hinzu, damit Sie den Cluster verwalten können.Wenn der Cluster erstellt wird, wendet die Anthos On-Prem API die rollenbasierte Zugriffssteuerung von Kubernetes (Role-based Access Control, RBAC) auf den Cluster an, um den Administratoren die Rolle
clusterrole/cluster-admin
zu gewähren. Diese Rolle bietet uneingeschränkten Zugriff auf jede Ressource im Cluster in allen Namespaces. Außerdem können sich Nutzer so mit ihrer Google-Identität in der Console anmelden.
Verwenden Sie für die restlichen Variablen die in
terraform.tvars
definierten Standardwerte. Das Skript hat diese Werte beim Erstellen der VMs und des Administratorclusters verwendet.control_plane_ips
: Eine Liste mit einer oder mehreren IPv4-Adressen für die Knoten der Steuerungsebene. Verwenden Sie den Standardwert. Das ist die IP-Adresse, die das Skript der VMabm-user-cluster-cp1
zugewiesen hat.worker_node_ips
: Eine Liste mit einer oder mehreren IPv4-Adressen für die Worker-Knotenmaschinen. Verwenden Sie die Standardwerte. Dies sind die IP-Adressen, die dem Skript den VMsabm-user-cluster-w1
undabm-user-cluster-w2
zugewiesen werden.control_plane_vip
: Die virtuelle IP-Adresse (VIP) für die Steuerungsebene. Verwenden Sie den Standardwert10.200.0.50
im Netzwerk10.200.0.0/24
, das vom Skript erstellt wurde. Diese IP-Adresse überschneidet sich nicht mit dem IP-Adressbereich, der für die MetalLB-Load-Balancer-Adresspools verwendet wird.ingress_vip
: Die virtuelle IP-Adresse, die auf dem Load-Balancer für den Ingress-Proxy konfiguriert werden soll. Verwenden Sie den Standardwert10.200.0.51
. Er befindet sich im10.200.0.0/24
-Netzwerk, das vom Skript erstellt wurde. Diese IP-Adresse liegt im IP-Adressbereich, der für die MetalLB-Load-Balancer-Adresspools verwendet wird.lb_address_pools
: Eine Liste der Karten, die die Adresspools für den MetalLB-Load-Balancer definieren. Verwenden Sie den Standardwert.
Speichern Sie die Änderungen in
terraform.tfvars
.Initialisieren und erstellen Sie den Terraform-Plan:
terraform init
Terraform installiert alle erforderlichen Bibliotheken, z. B. den Google Cloud-Anbieter.
Prüfen Sie die Konfiguration und nehmen Sie bei Bedarf Änderungen vor:
terraform plan
Wenden Sie den Terraform-Plan an, um den Nutzercluster zu erstellen:
terraform apply
Das Erstellen des Nutzerclusters dauert 15 Minuten oder länger. Sie können sich den Cluster in der Google Cloud Console auf der Seite Anthos-Cluster ansehen.
Verbindung zum Nutzercluster herstellen
Wenn Sie einen Nutzercluster über die Console oder die gcloud CLI erstellen, wird der Cluster mit denselben Kubernetes-Richtlinien für die rollenbasierte Zugriffssteuerung (RBAC) konfiguriert, die Sie beim Ausführen von gcloud container fleet memberships generate-gateway-rbac
für den Administratorcluster konfiguriert haben.
Mit diesen RBAC-Richtlinien können Sie mit Ihrer Google Cloud-Identität eine Verbindung zum Cluster herstellen. Das ist die E-Mail-Adresse, die mit Ihrem Google Cloud-Konto verknüpft ist. Mit diesen RBAC-Richtlinien können Sie sich ohne zusätzliche Konfiguration in der Konsole anmelden.
Verbindung zum Cluster in der Console herstellen
Wenn Sie den Nutzercluster mit der gcloud CLI erstellt haben, rufen Sie die Seite „Anthos-Cluster“ in der Console auf:
Achten Sie darauf, dass das Projekt ausgewählt ist, in dem Sie den Nutzercluster erstellt haben. Sie sollten sowohl den Administrator- als auch den Nutzercluster in der Liste sehen.
Beachten Sie, dass der Nutzercluster in der Spalte Typ Anthos (Bare Metal: Nutzer) enthält. Dies zeigt an, dass der Cluster von der Anthos On-Prem API verwaltet wird.
Der Administratorcluster hat in der Spalte Type den Wert External. Dies zeigt an, dass der Cluster nicht von der Anthos On-Prem API verwaltet wird.
Obwohl der Administratorcluster mit bmctl
vom Skript erstellt wurde, können Sie den Administratorcluster so konfigurieren, dass er von der Anthos On-Prem API verwaltet wird.
So melden Sie sich in einem Cluster an:
Klicken Sie auf den Link neben dem Clusternamen und dann in der Seitenleiste auf Anmelden.
Mit Google-Identität anmelden auswählen
Klicken Sie auf Login.
Wiederholen Sie dieselben Schritte, um sich auch im Administratorcluster anzumelden.
Verbindung zum Cluster über die Befehlszeile herstellen
Die Anthos On-Prem API konfiguriert die RBAC-Richtlinien für Sie als Nutzercluster-Ersteller. Mit diesen Richtlinien können Sie kubectl
-Befehle auf dem lokalen Computer mit dem kubeconfig
-Gateway ausführen.
Über den lokalen Computer:
Rufen Sie den Eintrag
kubeconfig
ab, der über das Connect-Gateway auf den Cluster zugreifen kann.gcloud container fleet memberships get-credentials USER_CLUSTER_NAME
Die Ausgabe sieht in etwa so aus:
Starting to build Gateway kubeconfig... Current project_id: PROJECT_ID A new kubeconfig entry "connectgateway_PROJECT_ID_global_USER_CLUSTER_NAME" has been generated and set as the current context.
Sie können jetzt
kubectl
-Befehle über das Connect-Gateway ausführen:kubectl get nodes
Die Ausgabe sieht in etwa so aus:
NAME STATUS ROLES AGE VERSION abm-user-cluster-cp Ready control-plane,master 14m v1.24.2-gke.1900 abm-user-cluster-w1 Ready worker 8m28s v1.24.2-gke.1900
Weiteren Knotenpool zum Nutzercluster hinzufügen
Console
Rufen Sie in der Google Cloud Console die Anthos-Seite Cluster auf.
Klicken Sie in der Clusterliste auf den Namen des Clusters und dann im Bereich Details auf Weitere Details.
Klicken Sie auf den Tab Knoten.
Klicken Sie auf Knotenpool hinzufügen
.Geben Sie einen Namen für den Knotenpool ein.
Geben Sie in das Feld Knotenadresse 1 die folgende IP-Adresse ein:
10.200.0.6
Dies ist die IP-Adresse der VM „abm-user-cluster-w2“, die vom Skript erstellt wurde.
Klicke auf Erstellen.
Klicken Sie bei Bedarf noch einmal auf den Tab Knoten.
Der neue Knotenpool zeigt den Status Abgleich an.
Klicken Sie rechts oben auf
, um den Status der Knotenpoolerstellung aufzurufen. Möglicherweise müssen Sie die Seite aktualisieren, um den aktualisierten Status in der Liste der Knotenpools zu sehen.
gcloud-CLI
Führen Sie den folgenden Befehl aus, um einen weiteren Knotenpool zu erstellen. Ersetzen Sie NODE_POOL_NAME_2
durch einen Namen für den Knotenpool und achten Sie darauf, dass der Platzhalter für das Flag --cluster
weiterhin auf den Namen des Nutzerclusters festgelegt ist.
gcloud beta container bare-metal node-pools create NODE_POOL_NAME_2 \ --cluster=USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION \ --node-configs='node-ip=10.200.0.6'
-node-configs
: Der Wertnode-ip
ist die IP-Adresse der VM „abm-user-cluster-w2“ im VXLAN, der vom Skript erstellt wurde.
Terraform
Wenn Sie den Cluster mit Terraform erstellt haben, wurde der Cluster mit zwei Knoten erstellt. Es sind also keine zusätzlichen VMs in VXLAN verfügbar, um einen weiteren Knoten hinzuzufügen. Informationen zum Hinzufügen von Knotenpools finden Sie in der Referenzdokumentation zu google_gkeonprem_bare_metal_cluster
.
Sie können den neuen Knoten auch mit kubectl
bestätigen. Sie müssen zuerst den Befehl gcloud container fleet memberships get-credentials
ausführen, wie zuvor gezeigt, um die Clusterkonfiguration abzurufen:
kubectl get nodes
Die Ausgabe sieht in etwa so aus:
NAME STATUS ROLES AGE VERSION
abm-user-cluster-cp Ready control-plane,master 24m v1.24.2-gke.1900
abm-user-cluster-w1 Ready worker 18m v1.24.2-gke.1900
abm-user-cluster-w2 Ready worker 52s v1.24.2-gke.1900
Bereinigen
Nutzercluster löschen
Console
Rufen Sie in der Console die Seite "Anthos-Cluster" auf.
Klicken Sie in der Liste der Cluster auf den Nutzercluster.
Klicken Sie im Bereich Details auf Weitere Details.
Klicken Sie oben im Fenster auf
Löschen.Wenn Sie zur Bestätigung aufgefordert werden, geben Sie den Clusternamen ein und klicken Sie auf Bestätigen.
Klicken Sie rechts oben auf
, um den Status des Löschvorgangs aufzurufen. Möglicherweise müssen Sie die Seite aktualisieren, um die Clusterliste zu aktualisieren.
gcloud-CLI
Führen Sie den folgenden Befehl aus, um den Cluster zu löschen:
gcloud beta container bare-metal clusters delete USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION \ --force
Mit dem Flag --force
können Sie einen Cluster löschen, der Knotenpools hat.
Ohne das Flag --force
müssen Sie zuerst die Knotenpools löschen und dann den Cluster löschen.
Informationen zu anderen Flags finden Sie unter gcloud beta container bare-metal cluster delete.
Terraform
Führen Sie dazu diesen Befehl aus:
terraform destroy
Warten Sie, bis der Nutzercluster gelöscht wurde, bevor Sie den Administratorcluster und die VMs löschen.
Administratorcluster und VMs löschen
Melden Sie den Administratorcluster von der Anthos On-Prem API ab:
gcloud beta container bare-metal admin-clusters unenroll ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=ON_PREM_API_REGION
Stellen Sie eine Verbindung zur Administratorworkstation her:
gcloud compute ssh root@abm-ws --zone ZONE
Löschen Sie den Administratorcluster:
bmctl reset -c ADMIN_CLUSTER_NAME
bmctl
hebt die Registrierung des Clusters bei der Flotte auf und löscht dann den Cluster. Warten Sie, bis der Cluster gelöscht wurde, bevor Sie die VMs löschen.Beenden Sie die Administratorworkstation.
Listen Sie alle VMs auf, deren Name
abm
enthält:gcloud compute instances list | grep 'abm'
Prüfen Sie, ob Sie mit dem Löschen aller VMs einverstanden sind, die
abm
im Namen enthalten.Nach der Bestätigung können Sie
abm
-VMs mit dem folgenden Befehl löschen:gcloud compute instances list --format="value(name)" | \ grep 'abm' | \ xargs gcloud --quiet compute instances delete
Löschen Sie das Dienstkonto:
gcloud iam service-accounts delete baremetal-gcr@PROJECT_ID.iam.gserviceaccount.com
Geben Sie in der Bestätigungsmeldung y ein.
Nächste Schritte