Rollout von Clustern am Netzwerkrand 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 umfassend 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.

Den Quellcode für die Anwendung, von der die Edge-Arbeitslast besteht, und die Skripts, mit denen die Bare-Metal-Infrastruktur eingerichtet wird, finden Sie im GitHub-Repository anthos-edge-Anwendungsfälle. Sie können die Skripts verwenden, um diese Bereitstellung selbst zu replizieren und dann an Ihre eigenen Anforderungen anzupassen.

Über Edge-Deployments

Ein wichtiges Merkmal des Betriebes im großen Maßstab ist die zentrale Verwaltungsebene für alle Teile der Plattform. Unternehmen, die über 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 in Zukunft mehr Edge-Standorte erweitern können. Anthos on Bare Metal ist die Antwort von Google für diese umfangreichen Edge-Deployment-Anforderungen.

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 selbstverwaltete Cluster, auf denen Arbeitslasten ausgeführt werden. Sie 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 Kassenanwendungsarbeitslast, 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 Anwendung für die Kasse
Architektur der Kassenanwendung (zum Vergrößern klicken)

Lösungsworkflow

In dieser Lösung gehen wir so vor:

  • Simulieren 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 bei Google Cloud.
  • Beispiel für eine Anwendungsarbeitslast auf dem Anthos on Bare Metal-Cluster bereitstellen.
  • In der Cloud Console die Anwendung testen, die auf Edge-Geräten ausgeführt wird
  • Verwenden Sie Anthos Config Management, um die Anwendung zu aktualisieren, die auf dem Bare-Metal-Cluster von Anthos 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-edge-usecases-Repository eine eigene Kopie des Quellcodes für diese Edge-Bereitstellungslösung. Weitere Informationen zu Verzweigungen, 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-edge-usecases
    cd anthos-edge-usecases/anthos-baremetal-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-edge-usecases
    export ROOT_REPO_URL="https://github.com/GITHUB_USERNAME/anthos-edge-usecases"
    
    # 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 das Cloud SDK.

    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, erhalten 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 führt Folgendes aus:

  • 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 für die Synchronisierung mit den Clusterkonfigurationen unter anthos-baremetal-edge-deployment/acm-config-sink in Ihrem verzweigten Repository.

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, erhalten 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.yml
    

    Wenn die Skripts erfolgreich ausgeführt werden, erhalten 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-Clustern in der Cloud Console anmelden

  1. Führen Sie die folgenden Skripts und Befehle aus, um das Dienstprogrammskript in die Compute Engine-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, erhalten 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 beim 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 Ihre GitHub-Konfigurationen erfolgreich mit Ihrem bereitgestellten Cluster, cnuc-1, synchronisiert hat.

    Zur Seite „Config Management“

    Anthos Config Management wird 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 Administrator-Hosts 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, erhalten 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-Instanz auf und greifen Sie auf die UI der Kassenanwendung 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, erhalten 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 ansehen

  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-baremetal-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 das Deployment 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, zu den betroffenen Skripts und zur Implementierung der Point-of-Sale-Anwendung finden Sie im Repository anthos-edge-usecases.