Rollout von Clustern am Netzwerkrand im großen Stil mit Anthos auf Bare-Metal

In diesem Artikel wird eine erweiterte, einsatzbereite Lösung für Plattformbetreiber und Entwickler vorgestellt, die Anthos auf Bare-Metal und Anthos Config Management verwendet, um Kubernetes-Cluster am Netzwerkrand bereitzustellen. Für den Zweck dieses Leitfadens wird davon ausgegangen, dass Sie mit Folgendem vertraut sind:

  • Ansible-Playbooks.
  • Edge-Bereitstellungen und ihre Herausforderungen
  • Mit einem Google Cloud-Projekt arbeiten
  • gcloud- und kubectl-Befehlszeilenschnittstellen.

Die Skripts, mit denen die Bare-Metal-Infrastruktur eingerichtet wird, finden Sie im anthos-samples-Repository. Sie können die Skripts verwenden, um diese Bereitstellung selbst zu replizieren und dann an Ihre eigenen Anforderungen anzupassen. Der Quellcode für die Anwendung, aus der die Edge-Arbeitslast besteht, wird im Point-of-Sale-Repository gehostet.

Über Edge-Deployments

Ein wichtiges Merkmal des Betriebes im großen Stil ist die Vorhandensein einer zentrale Verwaltungsebene für alle Teile der Plattform. Unternehmen, die neben herkömmliche Rechenzentren bis an Edge-Standorte hinausgehen, haben jedoch spezielle Anforderungen. Edge-Bereitstellungen müssen ihre Arbeitslasten isoliert ausführen, zeitnahe Aktualisierungen erhalten, wichtige Messwerte melden und so konzipiert sein, dass sie die zukünftige Expansion auf mehr Edge-Standorte ermöglichen. Anthos on Bare Metal ist die Antwort von Google für diese Anforderungen umfangreicher Edge-Bereitstellungen.

Ab Version 1.8 enthält Anthos-Cluster auf Bare-Metal ein Edge-Profil, das die Anforderungen an Systemressourcen minimiert und für Edge-Geräte mit erheblichen Ressourceneinschränkungen empfohlen wird. Das Edge-Profil ist nur für eigenständige Cluster verfügbar. Eigenständige Cluster sind Cluster, auf denen Arbeitslasten ausgeführt werden. Eigenständige Cluster verwalten keine anderen Cluster, sodass in ressourcenbeschränkten Szenarien kein separater Administratorcluster ausgeführt werden muss. Das Edge-Profil bietet minimale vCPU- und RAM-Ressourcenanforderungen, ohne Nutzerarbeitslasten. Das Edge on Bare Metal Edge-Profil bietet folgende Vorteile:

  • 75 % Reduzierung der CPU-Anforderungen auf 1 Knoten x 2 vCPUs von 2 Knoten x 4 vCPUs.
  • 90 % Reduzierung der Speicheranforderungen auf 1 Knoten x 4 GiB von 2 Knoten x 32 GiB für Ubuntu.

Weitere Informationen zum Konfigurieren eines Clusters mit dem Edge-Profil finden Sie unter Eigenständige Cluster erstellen. Die folgende Tabelle zeigt, wie die Mindestsystemanforderungen für Anthos on Bare Metal reduziert wurden, um einen kleineren Platzbedarf zu bieten, der Edge-Geräte unterstützt.

Anthos 1.7 Anthos 1.8 und höher Anthos 1.8 und höher mit dem Edge-Profil
CPU 2 Knoten x (4 vCPUs) 1 Knoten x (4 vCPU) 1 Knoten x (2 vCPUs)
RAM 2 Knoten x (32 GiB RAM) 1 Knoten x (16 GiB RAM) 1 Knoten x (4 GiB RAM Ubuntu)
1 Knoten x (6 GiB RAM RHEL/CentOS)
Speicher 2 Knoten x (128 GiB) 1 Knoten x (128 GiB) 1 Knoten x (128 GiB)

In den folgenden Abschnitten verwenden Sie Compute Engine-VMs und eine Beispielanwendung für die Kasse als Edge-Arbeitslast, um auf den Edge-Punkten bereitgestellte Knoten zu emulieren. Anthos-Cluster auf Bare-Metal und Anthos Config Management bieten eine zentralisierte Verwaltung und Steuerung für Ihren Edge-Cluster. Anthos Config Management ruft neue Konfigurationen dynamisch aus GitHub ab und wendet diese Richtlinien und Konfigurationen auf Ihre Cluster an.

Architekturdiagramm für Edge-Rollout

Das folgende Diagramm zeigt die Architektur einer Edge-Bereitstellung, die zeigt, wie die Anwendung auf Anthos auf Bare-Metal ausgeführt wird und von Anthos Config Management verwaltet wird. Im Diagramm bezieht sich ABM auf Anthos auf Bare-Metal und ACM auf Anthos Config Management.

Erläutert, wie die Anwendung auf Anthos auf Bare-Metal ausgeführt wird und von Anthos Config Management verwaltet wird
Architektur einer Anthos on Bare Metal-Edge-Bereitstellung, die von Anthos Config Management verwaltet wird

Diagramm: Edge-Arbeitslastarchitektur

Das folgende Diagramm zeigt die Architektur der einfachen Point-of-Sale-Anwendungsarbeitslast, die wir in dieser Anleitung verwenden. Es zeigt auch, wie die Anwendung in Anthos auf Bare-Metal-Clustern an einem emulierten Edge-Standort bereitgestellt wird. Die Compute Engine-VMs entsprechen den Knoten, die in den Edge-Punkten ausgeführt werden.

Architektur und Bereitstellung der point of sale-Anwendung
Architektur der Kassenanwendung (zum Vergrößern klicken)

Lösungsworkflow

In dieser Lösung gehen wir so vor:

  • Emulieren Sie mit Compute Engine-VMs eine Bare-Metal-Infrastruktur, die an einem Edge-Standort ausgeführt wird.
  • Stellen Sie einen Anthos on Bare Metal-Cluster in der emulierten Edge-Infrastruktur bereit.
  • Verbinden und registrieren Sie den Anthos on Bare Metal-Cluster mit bzw. bei Google Cloud.
  • Beispiel-point of sale-Anwendungsarbeitslast auf dem Anthos on Bare Metal-Cluster bereitstellen.
  • In der Cloud Console die Anwendung überprüfen und überwachen, die an Edge-Standorten ausgeführt wird.
  • Verwenden Sie Anthos Config Management, um die Anwendung zu aktualisieren, die auf dem Anthos auf Bare-Metal-Cluster ausgeführt wird.

Diese Anleitung kann bis zu 55–60 Minuten dauern, wenn alle Voraussetzungen (die im folgenden Abschnitt Vorbereitung aufgeführt sind) bereits eingerichtet sind.

Hinweis

Für die in dieser Anleitung beschriebene Edge-Bereitstellung benötigen Sie Folgendes:

  • Eine Workstation mit Zugriff auf das Internet und die folgenden Tools Alle Befehle in dieser Anleitung werden auf dieser Workstation ausgeführt:

  • Ein Google Cloud-Projekt.

    Zur Projektauswahl

Workstation-Umgebung einrichten

  1. Erstellen Sie aus dem anthos-samples-Repository eine eigene Kopie des Quellcodes für diese Edge-Bereitstellungslösung. Weitere Informationen zu Forks, einschließlich einer Anleitung zum Verzweigen eines Repositorys finden Sie unter Verzweigen eines Repositorys.

  2. Erstellen Sie ein persönliches Zugriffstoken für Ihr verzweigtes Repository, wie in der GitHub-Dokumentation Persönliches Zugriffstoken erstellen beschrieben.

    • Wählen Sie nur den Bereich public_repo aus.
    • Speichern Sie das von Ihnen erstellte Zugriffstoken an einem sicheren Ort, da Sie es später benötigen.
  3. Klonen Sie Ihr verzweigtes Repository auf Ihre Workstation.

    git clone https://github.com/GITHUB_USERNAME/anthos-samples
    cd anthos-samples/anthos-bm-edge-deployment
    
    • Ersetzen Sie GITHUB_USERNAME durch Ihren GitHub-Nutzernamen.
  4. Initialisieren Sie die Umgebungsvariablen in einer neuen Shell-Instanz.

    export PROJECT_ID="PROJECT_ID"
    export REGION="us-central1"
    export ZONE="us-central1-a"
    
    # path to which the Google Service Account key file is downloaded to
    export LOCAL_GSA_FILE="$(pwd)/remote-gsa-key.json"
    
    # port on the admin Compute Engine instance we use to set up an nginx proxy to allow traffic into the Anthos on bare metal cluster
    export PROXY_PORT="8082"
    
    # should be a multiple of 3 since N/3 clusters are created with each having 3 nodes
    export MACHINE_COUNT="3"
    
    # url to the fork of: https://github.com/GoogleCloudPlatform/anthos-samples
    export ROOT_REPO_URL="https://github.com/GITHUB_USERNAME/anthos-samples"
    
    # this is the username used to authenticate to your fork of this repository
    export SCM_TOKEN_USER="GITHUB_USERNAME"
    
    # access token created in the earlier step
    export SCM_TOKEN_TOKEN="ACCESS_TOKEN"
    
    • PROJECT_ID ist Ihre Google Cloud-Projekt-ID.
    • GITHUB_USERNAME ist Ihr GitHub-Nutzername
    • ACCESS_TOKEN: das persönliche Zugriffstoken, das Sie für das GitHub-Repository erstellt haben.
  5. Initialisieren Sie die Google Cloud CLI.

    gcloud config set project "${PROJECT_ID}"
    gcloud services enable compute.googleapis.com
    
    gcloud config set compute/region "${REGION}"
    gcloud config set compute/zone "${ZONE}"
    
  6. Erstellen Sie das Google Cloud-Dienstkonto, das von den Compute Engine-Instanzen verwendet wird.

    # when prompted "Create a new key for GSA? [y/n]" type "y" and press the return key
    # the service account key file is downloaded to the path referred to by $LOCAL_GSA_FILE
    ./scripts/create-primary-gsa.sh
    

Compute Engine-Instanzen bereitstellen

  1. Erstellen Sie SSH-Schlüssel und Compute Engine-Instanzen, auf denen Anthos on Bare Metal installiert ist.

    # press the return key when asked for a passphrase for the SSH key (i.e. empty string)
    ./scripts/cloud/easy-install.sh
    
  2. Testen Sie die SSH-Verbindung zu den Compute Engine-Instanzen.

    # If the checks fail the first time with errors like
    # "sh: connect to host cnuc-1 port 22: Connection refused",
    # then wait a few seconds and retry
    for i in `seq $MACHINE_COUNT`; do
        HOSTNAME="cnuc-$i"
        ssh abm-admin@${HOSTNAME} 'ping -c 3 google.com'
    done
    

    Wenn die Skripts erfolgreich ausgeführt werden, produzieren sie in etwa folgende Ausgabe:

    PING google.com (74.125.124.113) 56(84) bytes of data.
    64 bytes from jp-in-f113.1e100.net (74.125.124.113): icmp_seq=1 ttl=115 time=1.10 ms
    64 bytes from jp-in-f113.1e100.net (74.125.124.113): icmp_seq=2 ttl=115 time=1.10 ms
    64 bytes from jp-in-f113.1e100.net (74.125.124.113): icmp_seq=3 ttl=115 time=0.886 ms
    
    --- google.com ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2003ms
    rtt min/avg/max/mdev = 0.886/1.028/1.102/0.100 ms
    PING google.com (108.177.112.139) 56(84) bytes of data.
    ...
    ...
    

Anthos auf Bare-Metal mit Ansible installieren

Das in dieser Anleitung verwendete Skript erstellt Anthos auf Bare-Metal-Clustern in Gruppen von drei Compute Engine-Instanzen. Sie legen beispielsweise die Umgebungsvariable MACHINE_COUNT auf 6 fest, um zwei Anthos-Bare-Metal-Cluster mit jeweils drei Instanzen zu erstellen. Die Instanzen haben das Präfix cnuc-, gefolgt von einer Zahl. Die erste Instanz jedes Clusters fungiert als Administratorinstanz, von der die Installation von Anthos on Bare Metal ausgelöst wird. Die Anthos on Bare Metal-Nutzercluster sind auch nach diesen Administratorinstanzen benannt (z. B. cnuc-1, cnuc-4, cnuc-7).

Das Ansible-Playbook tut Folgendes:

  • Konfiguriert die Compute Engine-Instanzen mit den erforderlichen Tools, z. B. docker, bmctl, gcloud und nomos.
  • Installiert Anthos auf Bare-Metal in den konfigurierten Compute Engine-Instanzen.
  • Erstellt einen Anthos on Bare Metal-Nutzercluster mit dem Namen cnuc-1.
  • Registriert den Cluster cnuc-1 bei Google Cloud.
  • Installiert Anthos Config Management im Cluster cnuc-1.
  • Konfiguriert Anthos Config Management, sodass mit den Clusterkonfigurationen unter anthos-bm-edge-deployment/acm-config-sink in Ihrem verzweigten Repository synchronisiert wird.

Führen Sie die folgenden Schritte aus, um den Installationsvorgang einzurichten und zu starten.

  1. Generieren Sie die Ansible-Inventardatei aus einer Vorlage.

    # replace environment variables in the template
    envsubst < templates/inventory-cloud-example.yaml > inventory/gcp.yaml
    
  2. Prüfen Sie die Workstation-Einrichtung und den Zugriff auf die Compute Engine-Hosts.

    # verify workstation environment setup
    ./scripts/verify-pre-installation.sh
    
    # verify access to hosts
    ./scripts/health-check.sh
    

    Wenn die Skripts erfolgreich ausgeführt werden, produzieren sie in etwa folgende Ausgabe:

    Proceed!!
    
    cnuc-1 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python3"},"changed": false,"ping": "pong"}
    cnuc-2 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python3"},"changed": false,"ping": "pong"}
    cnuc-3 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python3"},"changed": false,"ping": "pong"}
    
    SUCCESS!!
    
  3. Führen Sie das Ansible-Playbook zur Installation von Anthos auf Bare-Metal auf Compute Engine-Instanzen aus.

    ansible-playbook -i inventory cloud-full-install.yaml
    

    Wenn die Skripts erfolgreich ausgeführt werden, produzieren sie in etwa folgende Ausgabe:

    ...
    ...
    PLAY RECAP ********************************************************************************************************
    cnuc-1                     : ok=136  changed=106  unreachable=0    failed=0    skipped=33   rescued=0    ignored=8
    cnuc-2                     : ok=86   changed=67   unreachable=0    failed=0    skipped=71   rescued=0    ignored=2
    cnuc-3                     : ok=86   changed=67   unreachable=0    failed=0    skipped=71   rescued=0    ignored=2
    

Bei Anthos on Bare Metal-Cluster in der Cloud Console anmelden

  1. Führen Sie die folgenden Skripts und Befehle aus, um das Dienstprogrammskript in die Compute Engine-Admin-Instanz zu kopieren und ein Kubernetes-Dienstkontotoken zu generieren.

    # Copy the utility script into the admin node of the cluster
    scp -i ~/.ssh/cnucs-cloud scripts/cloud/cnuc-k8s-login-setup.sh abm-admin@cnuc-1:
    
    # Use SSH to connect to the admin node of the cluster
    ssh -i ~/.ssh/cnucs-cloud abm-admin@cnuc-1
    
    # execute the script and copy token that is printed out
    ./cnuc-k8s-login-setup.sh
    

    Wenn die Skripts erfolgreich ausgeführt werden, produzieren sie in etwa folgende Ausgabe:

    ...
    ...
    💡 Retrieving Kubernetes Service Account Token
    
    🚀 ------------------------------TOKEN-------------------------------- 🚀
    eyJhbGciOiJSUzI1NiIsImtpZCI6Imk2X3duZ3BzckQyWmszb09sZHFMN0FoWU9mV1kzOWNGZzMyb0x2WlMyalkifQ.eyJpc3MiOiJrdW
    mljZS1hY2NvdW50LnVpZCI6IjQwYWQxNDk2LWM2MzEtNDhiNi05YmUxLWY5YzgwODJjYzgzOSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYW
    iZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImVkZ2Etc2EtdG9rZW4tc2R4MmQiLCJrdWJlcm5ldGVzLmlvL3Nl
    cnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZWRnYS1zYSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2Vyd
    4CwanGlof6s-fbu8IUy1_bTgCminylNKb3VudC5uYW1lIjoiZWRnYS1zYSIsImt1YmVybmV0ZXuaP-hDEKURb5O6IxulTXWH6dxYxg66x
    Njb3VudDpkZWZhdWx0OmVkZ2Etc2EifQ.IXqXwX5pg9RIyNHJZTM6cBKTEWOMfQ4IQQa398f0qwuYlSe12CA1l6P8TInf0S1aood7NJWx
    xe-5ojRvcG8pdOuINq2yHyQ5hM7K7R4h2qRwUznRwuzOp_eXC0z0Yg7VVXCkaqnUR1_NzK7qSu4LJcuLzkCYkFdSnvKIQABHSvfvZMrJP
    Jlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3V
    MgyLOd9FJyhZgjbf-a-3cbDci5YABEzioJlHVnV8GOX_q-MnIagA9-t1KpHA
    🚀 ------------------------------------------------------------------- 🚀
    
  2. Kopieren Sie das Token aus der Ausgabe.

  3. Rufen Sie in der Cloud Console die Seite Kubernetes-Cluster auf und verwenden Sie das kopierte Token, um sich im Cluster cnuc-1 anzumelden.

    Zur Seite Kubernetes-Cluster

    1. Klicken Sie in der Liste der Cluster neben dem Cluster cnuc-1 auf Aktionen und dann auf Anmelden.
    2. Wählen Sie Token aus und fügen Sie das kopierte Token ein.
    3. Klicken Sie auf Login.
  4. Rufen Sie in der Cloud Console die Seite Config Management auf, um den Status der Konfigurationsspezifikation zu prüfen. Prüfen Sie, ob der Status Synchronisiert lautet. Der StatusSynchronisiert gibt an, dass Anthos Config Management hat Ihre GitHub-Konfigurationen erfolgreich mit Ihrem bereitgestellten Cluster synchronisiert.cnuc-1

    Zur Seite „Config Management“

    Anthos Config Management hat mit dem Quell-Repository synchronisiert.

Proxy für externen Traffic konfigurieren

Anthos on Bare Metal, das in den vorherigen Schritten installiert wurde, verwendet einen gebündelten Load-Balancer namens MetalLB. Auf diesen Load-Balancer-Dienst kann nur über eine VPC-IP-Adresse (Virtual Private Cloud) zugegriffen werden. Daher richten wir einen Reverse-Proxydienst im Admin-Host (cnuc-1) ein, um den Traffic, der über seine externe IP-Adresse eingeht, an den gebündelten Load-Balancer weiterzuleiten. Dadurch können wir den API-Server der Kassenanwendung über die externe IP-Adresse des Administratorhosts (cnuc-1) erreichen.

Mit den Installationsskripts in den vorherigen Schritten wurde nginx bereits auf den Administratorhosts zusammen mit einer Beispielkonfigurationsdatei installiert. Wir aktualisieren diese Datei, um die IP-Adresse des Load-Balancer-Dienstes zu verwenden, und starten nginx neu.

  1. Richten Sie die nginx-Reverse-Proxy-Konfiguration ein, um Traffic an den API-Server-Load-Balancer-Dienst weiterzuleiten.

    # get the IP address of the Load balancer type Kubernetes service
    ABM_INTERNAL_IP=$(kubectl get services api-server-lb -n pos | awk '{print $4}' | tail -n 1)
    
    # update the template configuration file with the fetched IP address
    sudo sh -c "sed 's/<K8_LB_IP>/${ABM_INTERNAL_IP}/g' /etc/nginx/nginx.conf.template > /etc/nginx/nginx.conf"
    
    # restart nginx to ensure the new configuration is picked up
    sudo systemctl restart nginx
    
    # check and verify the status of the nginx server to be "active (running)"
    sudo systemctl status nginx
    

    Wenn die Skripts erfolgreich ausgeführt werden, produzieren sie in etwa folgende Ausgabe:

    ● nginx.service - A high performance web server and a reverse proxy server
        Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
        Active: active (running) since Fri 2021-09-17 02:41:01 UTC; 2s ago
        Docs: man:nginx(8)
        Process: 92571 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
        Process: 92572 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Main PID: 92573 (nginx)
        Tasks: 17 (limit: 72331)
        Memory: 13.2M
        CGroup: /system.slice/nginx.service
                ├─92573 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
                ├─92574 nginx: worker process
                ├─92575 nginx: worker process
                ├─92577 nginx: ....
                ...
                ...
    
  2. Beenden Sie die SSH-Sitzung auf der Admin-Instanz.

    exit
    

Auf die Kassenanwendung zugreifen

Die folgenden Befehle werden auf Ihrer lokalen Workstation ausgeführt.

  1. Rufen Sie die externe IP-Adresse der Compute Engine-Admin-Instanz auf und greifen Sie auf die UI der point of sale-Anwendung zu.

    EXTERNAL_IP=$(gcloud compute instances list --project ${PROJECT_ID} --filter="name:cnuc-1" --format="get(networkInterfaces[0].accessConfigs[0].natIP)")
    echo "Point the browser to: ${EXTERNAL_IP}:${PROXY_PORT}"
    

    Wenn die Skripts erfolgreich ausgeführt werden, produzieren sie in etwa folgende Ausgabe:

    Point the browser to: 34.134.194.84:8082
    
    Version 1 der Point-of-Sale-Anwendung bereitgestellt.

API Server-Version aktualisieren und Änderung beobachten

  1. Aktualisieren Sie das Feld image, um die API-Serverversion von v1 in v2 zu ändern. Die YAML-Konfiguration für das Deployment befindet sich in der Datei unter anthos-bm-edge-deployment/acm-config-sink/namespaces/pos/api-server.yaml.

    containers:
    - name: api-server
      image: us-docker.pkg.dev/anthos-dpe-abm-edge-pos/abm-edge-pos-images/api-server:v1
  2. Übertragen Sie die Änderungen per Push in Ihr verzweigtes Repository.

    git add acm-config-sink/namespaces/pos/api-server.yaml
    git commit -m "chore: updated api-server version to v2"
    git push
    
  3. Rufen Sie in der Cloud Console die Seite Config Management auf, um den Status der Konfigurationsspezifikation zu prüfen. Prüfen Sie, ob der Status Synchronisiert lautet.

    Zur Seite „Config Management“

  4. Rufen Sie in der Cloud Console die Seite Kubernetes Engine-Arbeitslasten auf, um zu prüfen, ob die Bereitstellung aktualisiert wurde.

    Zur Seite „Kubernetes Engine-Arbeitslasten“

  5. Wenn der Status der Bereitstellung OK lautet, zeigen Sie mit dem Browser die IP-Adresse aus dem vorherigen Abschnitt an, um die Kassenanwendung aufzurufen. Die Version im Titel zeigt „V2“, was darauf hinweist, dass Ihre Anwendungsänderung bereitgestellt wurde.

    Version 2 der implementierten Point-of-Sale-Anwendung

Bereinigen

Löschen Sie die für diese Anleitung verwendeten Ressourcen, um unnötige Google Cloud-Gebühren zu vermeiden. Sie können diese Ressourcen entweder manuell löschen oder Ihr Google Cloud-Projekt löschen, wodurch auch alle Ressourcen entfernt werden. Darüber hinaus können Sie auch die Änderungen bereinigen, die Sie auf Ihrer lokalen Workstation vorgenommen haben:

Lokale Workstation

Die folgenden Dateien müssen aktualisiert werden, um Änderungen zu löschen, die von den Installationsskripts vorgenommen wurden.

  • Entfernen Sie die Compute Engine-VM-IP-Adressen, die der Datei /etc/hosts hinzugefügt wurden.
  • Entfernen Sie die SSH-Konfiguration für cnuc-* in der Datei ~/.ssh/config.
  • Entfernen Sie die Fingerabdrücke der Compute Engine-VM aus der Datei ~/.ssh/known_hosts.

Projekt löschen

Wenn Sie für dieses Verfahren ein dediziertes Projekt erstellt haben, löschen Sie das Google Cloud-Projekt aus der Cloud Console.

  • Wechseln Sie in der Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  • Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  • Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.
  • Manuell

    Wenn Sie für dieses Verfahren ein vorhandenes Projekt verwendet haben, gehen Sie so vor:

    • Heben Sie die Registrierung aller Kubernetes-Cluster mit einem Namen auf, dem cnuc- vorangestellt ist.
    • Löschen Sie alle Compute Engine-VMs mit einem Namen, dem das Präfix cnuc- vorangestellt ist.
    • Löschen Sie den Cloud Storage-Bucket mit einem Namen, dem abm-edge-boot vorangestellt ist.
    • Löschen Sie die Firewallregeln allow-pod-ingress und allow-pod-egress.
    • Löschen Sie das Secret Manager-Secret install-pub-key.

    Nächste Schritte

    Sie können diese Anleitung erweitern, indem Sie einen weiteren Edge-Standort hinzufügen. Wenn Sie die Umgebungsvariable MACHINE_COUNT auf 6 setzen und dieselben Schritte aus den vorherigen Abschnitten noch einmal ausführen, werden drei neue Compute Engine-Instanzen erstellt (cnuc-4, cnuc-5, cnuc-6) und ein neuer Anthos on Bare Metal-Nutzercluster namens cnuc-4.

    Sie können auch die Clusterkonfigurationen in Ihrem verzweigten Repository aktualisieren, um selektiv verschiedene Versionen der Point-of-Sale-Anwendung auf die beiden Cluster cnuc-1 und cnuc-4 mit ClusterSelectors anzuwenden.

    Weitere Informationen zu den einzelnen Schritten in dieser Anleitung und den betroffenen Skripts finden Sie im Repository anthos-samples.