IBM Db2 Warehouse auf Google Kubernetes Engine mit NFS-Speicher bereitstellen

In dieser Anleitung wird gezeigt, wie ein IBM Db2 Warehouse-Cluster in Google Kubernetes Engine (GKE) mit einem NFS-Volume (Network File System) als Speicherebene erstellt wird. Sie verwenden Filestore als NFS-Back-End für die produktübergreifende Speicherlösung. Sie können aber auch jede andere in der Cloud implementierbare NFS-Lösung nutzen.

Diese Anleitung bietet Unterstützung, wenn Sie als Systemadministrator, Entwickler, Engineer oder Datenbankadministrator einen IBM Db2 Warehouse-Cluster in Google Cloud bereitstellen möchten.

Eine Übersicht über IBM Db2 Warehouse und die Bereitstellungsoptionen in Google Cloud finden Sie in der Übersicht der Reihe.

In dieser Anleitung verwenden Sie folgende Software:

  • Ubuntu-Server 16.04
  • IBM Db2 Warehouse Enterprise Edition
  • IBM Db2 Warehouse-Client

Ziele

  • Auf die IBM Db2 Warehouse Docker-Images im Docker Store zugreifen
  • Filestore-Instanz erstellen
  • GKE-Cluster starten
  • Cluster auf Betriebsbereitschaft prüfen
  • Docker Store-Authentifizierung im GKE-Cluster initialisieren
  • NFS-Clientbereitsteller erstellen und ausführen
  • IBM Db2 Warehouse-Container im Cluster bereitstellen und ausführen
  • Beispieldaten in IBM Db2 Warehouse hochladen
  • Verbindung zur IBM Db2-Verwaltungskonsole herstellen

Kosten

In dieser Anleitung werden kostenpflichtige Komponenten von Google Cloud verwendet, darunter:

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung erstellen.

Hinweis

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. GKE and Filestore APIs aktivieren.

    Aktivieren Sie die APIs

  5. Erstellen Sie eine Docker-ID im Docker Store, wenn Sie noch keine haben.

In dieser Anleitung wird die IBM Db2 Warehouse Enterprise Edition verwendet. Wenn Sie noch keine Lizenz für diese Software haben, können Sie eventuell eine kostenlose Testversion für diese Anleitung verwenden.

Nach Abschluss dieser Anleitung können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.

Architektur

In dieser Anleitung stellen Sie mithilfe von GKE einen Kubernetes-Cluster in drei verschiedenen Google Cloud-Zonen bereit. Im Cluster erstellen Sie drei Instanzen von IBM Db2 Warehouse:

  • Eine Instanz mit dem Namen db2wh-1 wird anfänglich als Hauptknoten bezeichnet.
  • Die Instanzen mit den Namen db2wh-2 und db2wh-3 werden anfänglich als Datenknoten bezeichnet.

Die Funktion einzelner Instanzen (Haupt- oder Datenknoten) kann sich ändern, wenn der Hauptknoten ausfällt und es zum Failover kommt.

Sie stellen auch eine Filestore-Instanz mit dem Namen db2wh-data-nfs bereit, die als produktübergreifender Speicher für die Clusterknoten dient.

Diese Architektur wird im folgenden Diagramm dargestellt:

Architektur

Auf die Docker-Images von IBM Db2 Warehouse Edition zugreifen

In dieser Anleitung wird Ihrem Docker Store-Konto das Herunterladen einer kostenlosen Testversion von IBM Db2 Warehouse Edition aus dem Docker Store erlaubt. Dazu werden zwei separate Images heruntergeladen – für Server und Client.

  1. Wechseln Sie in Ihrem Browser zum IBM Db2 Warehouse EE Docker-Image.

  2. Melden Sie sich mit Ihrem Docker-Nutzernamen und -Passwort an.

  3. Klicken Sie auf Proceed to checkout (Zur Kasse).

  4. Geben Sie Ihre Daten ein.

  5. Klicken Sie, wenn Sie den Nutzungsbestimmungen zustimmen, auf die Kästchen I agree … (Ich stimme zu) und I acknowledge … (Ich bestätige) auf der rechten Seite.

  6. Klicken Sie auf Get Content (Inhalt abrufen).

    Daraufhin wird die Seite Setup (Einrichtung) eingeblendet. Die Hinweise auf dieser Seite können Sie ignorieren, da diese Schritte später in der Anleitung ausgeführt werden.

  7. Wiederholen Sie den Vorgang für das IBM Db2 Warehouse-Client-Image.

Umgebung vorbereiten

In dieser Anleitung verwenden Sie us-central1 als Standardregion und us-central1-b als Standardzone. Damit Sie die Optionen der Compute Engine-Zone im gcloud-Befehlszeilentool nicht immer wieder neu eingeben müssen, können Sie die Region und Zone als Standardwerte festlegen und so Zeit sparen.

Die meisten Schritte in dieser Anleitung werden in Cloud Shell ausgeführt. Mit geöffneter Cloud Shell können Sie auch das mit dieser Anleitung verknüpfte GitHub-Repository automatisch klonen.

  1. Öffnen Sie Cloud Shell:

    Zu Cloud Shell

  2. Legen Sie die Standardregion und -zone fest.

    gcloud config set compute/region us-central1
    gcloud config set compute/zone us-central1-b
    

Filestore-Instanz erstellen

Im nächsten Schritt erstellen Sie die Filestore-Datenbankinstanz.

  • Erstellen Sie in Cloud Shell eine Filestore-Instanz:

    gcloud beta filestore instances create db2wh-data-nfs \
        --location=us-central1-c \
        --tier=STANDARD \
        --file-share=name="db2whdata",capacity=1TB \
        --network=name="default",reserved-ip-range="10.0.0.0/29"
    

    Damit wird eine Filestore-Instanz der Standardstufe mit dem Namen db2wh-data-nfs, einer Kapazität von 1 TB und einem Bereitstellungspunkt mit dem Namen db2whdata erstellt.

Dienstkonto zum Verwalten von GKE-Clustern bereitstellen

Für die Anleitung erstellen Sie ein Dienstkonto, mit dem Sie Compute Engine-Instanzen im GKE-Cluster verwalten. GKE-Clusterknoten verwenden dieses Dienstkonto anstelle des Standarddienstkontos. Es wird empfohlen, das Dienstkonto auf die Rollen und Zugriffsberechtigungen zu beschränken, die zur Ausführung der Anwendung erforderlich sind.

Die einzige für das Dienstkonto erforderliche Rolle ist die Rolle "Compute-Administrator" (roles/compute.admin). Diese Rolle ermöglicht eine vollständige Kontrolle aller Compute Engine-Ressourcen. Das Dienstkonto benötigt diese Rolle zur Verwaltung der GKE-Clusterknoten.

  1. Erstellen Sie in Cloud Shell eine Umgebungsvariable, in der der Name des Dienstkontos gespeichert wird:

    export GKE_SERVICE_ACCOUNT_NAME=db2dw-gke-service-account
    
  2. Erstellen Sie ein Dienstkonto:

    gcloud iam service-accounts create $GKE_SERVICE_ACCOUNT_NAME \
        --display-name=$GKE_SERVICE_ACCOUNT_NAME
    
  3. Erstellen Sie eine Umgebungsvariable, in der der E-Mail-Kontoname des Dienstkontos gespeichert wird:

    export GKE_SERVICE_ACCOUNT_EMAIL=$(gcloud iam service-accounts list \
        --format='value(email)' \
        --filter=displayName:"$GKE_SERVICE_ACCOUNT_NAME")
    
  4. Binden Sie die Rolle compute.admin an das Dienstkonto:

    gcloud projects add-iam-policy-binding \
        $(gcloud config get-value project 2> /dev/null) \
        --member serviceAccount:$GKE_SERVICE_ACCOUNT_EMAIL \
        --role roles/compute.admin
    

GKE-Cluster vorbereiten

In diesem Abschnitt starten Sie den GKE-Cluster, gewähren Berechtigungen und schließen die Clusterkonfiguration ab.

GKE-Cluster starten

Sie können jetzt den GKE-Cluster erstellen und starten.

  • Erstellen Sie in Cloud Shell einen regionalen GKE-Cluster mit einem einzigen Knoten in jeder Zone:

    gcloud container clusters create ibm-db2dw-demo \
        --enable-ip-alias \
        --image-type=ubuntu \
        --machine-type=n1-standard-16 \
        --metadata disable-legacy-endpoints=true \
        --node-labels=app=db2wh \
        --node-locations us-central1-a,us-central1-b,us-central1-c \
        --no-enable-basic-auth \
        --no-issue-client-certificate \
        --num-nodes=1 \
        --region us-central1 \
        --service-account=$GKE_SERVICE_ACCOUNT_EMAIL
    

    Damit wird ein Cluster mit dem Namen ibm-db2dw-demo erstellt.

Da Sie diesen Cluster mit nur einem Knotenpool (dem Standardpool) erstellen, können alle Knoten dieses Clusters zur Ausführung von IBM Db2 Warehouse-Arbeitslasten verwendet werden. Zum Hosten von IBM Db2 Warehouse-Pods sind nur gekennzeichnete Knoten berechtigt. Wenn Sie Arbeitslasten trennen und z. B. dedizierte Knoten für IBM Db2 Warehouse verwenden möchten, können Sie entweder einen neuen Knotenpool oder einen dedizierten Cluster erstellen.

Docker Store-Authentifizierung verwalten

In dieser Anleitung erstellen Sie ein Secret für das Speichern Ihrer Docker Store-Anmeldedaten, damit Ihr GKE-Cluster das Docker-Image von IBM Db2 Warehouse aus dem Docker Store herunterladen kann. Weitere Informationen finden Sie im entsprechenden Abschnitt der Kubernetes-Dokumentation (nur auf Englisch verfügbar). Diese Vorgehensweise gilt auch für private Docker Registry-Instanzen.

  1. Melden Sie sich in Cloud Shell beim Docker Store, der Docker-Registrierungsinstanz, die Sie verwenden möchten, an:

    docker login
    
  2. Erstellen Sie ein Kubernetes-Secret mit Ihren Docker Store-Anmeldedaten:

    kubectl create secret generic dockerstore \
        --type=kubernetes.io/dockerconfigjson \
        --from-file=.dockerconfigjson="$HOME"/.docker/config.json
    

Einem Nutzer Cluster-Admin-Berechtigungen gewähren

Sie müssen Ihrem Nutzer die Möglichkeit einräumen, neue Rollen in GKE zu erstellen, wie in der GKE-Dokumentation erläutert.

  • Gewähren Sie Ihrem Nutzer in Cloud Shell die Berechtigung zum Erstellen neuer Rollen:

    kubectl create clusterrolebinding cluster-admin-binding \
        --clusterrole cluster-admin \
        --user $(gcloud config list \
        --format 'value(core.account)')
    

NFS-Clientbereitsteller erstellen

In dieser Anleitung erstellen Sie einen NFS-Clientbereitsteller im Cluster. Dieser Bereitsteller sorgt für die Initialisierung von PersistentVolumes in der Filestore-Instanz, um PersistentVolumeClaims zu unterstützen.

  1. Erstellen Sie in Cloud Shell ein Dienstkonto zur Verwaltung von NFS-Ressourcen:

    kubectl apply -f solutions-db2wh/nfs/rbac.yaml
    
  2. Erstellen Sie den NFS-Clientbereitsteller:

    kubectl apply -f solutions-db2wh/nfs/deployment.yaml
    
  3. Erstellen Sie eine StorageClass zur Unterstützung von PersistentVolumeClaims mit NFS-Volumes:

    kubectl apply -f solutions-db2wh/nfs/class.yaml
    
  4. Warten Sie, bis für die NFS-Clientbereitsteller-Pods die Meldung Running ausgegeben wird:

    kubectl get pods --watch
    

    Wenn sie ausgeführt werden, wird in der Ausgabe Running angezeigt:

    nfs-client-provisioner   1/1       Running   0         10s
    

Knotendateien erstellen

Sie können jetzt die Konfigurationsdatei erstellen, die IBM Db2 Warehouse zum Bootstrapping jeder Instanz benötigt.

  1. Erstellen Sie in Cloud Shell die nodes-Dateien:

    kubectl get nodes -o=jsonpath="{range \
    .items[?(@.metadata.labels.app=='db2wh')]}\
    {.metadata.name}{':'}{.status.addresses[?(@.type=='InternalIP')]\
    .address}{\"\n\"}{end}" | sed '1s/^/head_node=/' | \
    sed -e '2,$ s/^/data_node=/' > nodes
    
  2. Erstellen Sie eine ConfigMap, die die Datei nodes enthält:

    kubectl create configmap db2wh-nodes --from-file=nodes
    

IBM Db2 Warehouse-Pods erstellen

Sie erstellen jetzt alle GKE-Pods, die zur Ausführung von IBM Db2 Warehouse erforderlich sind.

  1. Erstellen Sie in Cloud-Shell den PersistentVolumeClaim. Das PersistentVolumeClaim-Objekt ermöglicht dem Cluster, den NFS-Speicher als PersistentVolume auf mehreren Pods gleichzeitig bereitzustellen.

    kubectl apply -f solutions-db2wh/persistent-volume-claim.yaml
    
  2. Führen Sie einen Job aus, mit dem die Datei nodes auf das NFS-Volume kopiert wird:

    kubectl apply -f solutions-db2wh/nodes-file-deploy-job.yaml
    
  3. Prüfen Sie, ob der Bereitstellungsjob der Datei nodes ausgeführt wurde:

    kubectl get jobs --watch
    

    Der Job wurde ausgeführt, wenn für nodes-config der Status Successful ausgegeben wird:

    NAME           DESIRED   SUCCESSFUL   AGE
    nodes-config   1         1            19s
    
  4. Stellen Sie einen Load-Balancer-Dienst für den Zugriff auf die Verwaltungskonsole von IBM Db2 Warehouse bereit:

    kubectl apply -f solutions-db2wh/service.yaml
    
  5. Warten Sie, bis dem Load-Balancer-Dienst db2wh-ext eine externe IP-Adresse zugewiesen wurde:

    kubectl get services --watch
    

    In der Ausgabe werden die IP-Adressen für CLUSTER-IP und EXTERNAL-IP angezeigt:

    NAME       TYPE         CLUSTER-IP   EXTERNAL-IP  PORT(S)                         AGE
    db2wh-ext  LoadBalancer yy.yy.yy.yy  xx.xx.xx.xx  8443:30973/TCP,50000:30613/TCP  7s
    
  6. Stellen Sie das StatefulSet für den Start der IBM Db2 Warehouse-Pods bereit:

    kubectl apply -f solutions-db2wh/statefulset.yaml
    
  7. Prüfen Sie, ob die IBM Db2 Warehouse-Pods (db2wh-0, db2wh-1 und db2wh-2) ausgeführt werden:

    kubectl get pods --watch
    

    Dies kann einige Minuten dauern.

    Wenn der Status Running für alle Pods angezeigt wird, werden diese ausgeführt:

    db2wh-1   0/1       Running   0         3m
    db2wh-2   0/1       Running   0         3m
    db2wh-0   0/1       Running   0         3m
    
  8. Erstellen Sie eine Umgebungsvariable, in der die IP-Adresse des Knotens gespeichert wird, auf dem der IBM Db2 Warehouse-Hauptknoten ausgeführt wird:

    HEAD_NODE_IP=$(grep "head_node" nodes | awk -F ':' '{print $2}')
    
  9. Erstellen Sie eine Umgebungsvariable, in der der Name des Hauptknoten-Pods gespeichert wird:

    HEAD_NODE_POD_NAME=$(kubectl get pods \
    --field-selector=status.phase=Running -o=jsonpath="{range \
    .items[?(@.metadata.labels.app=='db2wh')]} \
    {.metadata.name}{':'}{.status.\
    hostIP}{'\n'}{end}" | grep $HEAD_NODE_IP | awk -F ':' '{print $1}')
    
  10. Überprüfen Sie die Logs eines der Pods, um festzustellen, ob der Bootstrap-Prozess ohne Probleme ausgeführt wird:

    kubectl exec -it $HEAD_NODE_POD_NAME -- status --check-startup
    

    Dies kann 40 bis 60 Minuten dauern. In dieser Zeit werden möglicherweise ermittelte Fehler angezeigt. Sie können sie für diese Anleitung ignorieren.

    Der Vorgang wird ordnungsgemäß ausgeführt, wenn für den Status in der Ausgabe running successfully angegeben wird:

    HA Management up and running successfully!
    Successfully started IBM Db2 Warehouse service stack!
    
  11. Richten Sie das Passwort der Verwaltungskonsole ein:

    DB2_ADMIN_PASSWORD=$(openssl rand -hex 8)
    kubectl exec -it $HEAD_NODE_POD_NAME -- setpass ${DB2_ADMIN_PASSWORD}
    

Deployment testen

Sie haben die Konfiguration der Pods abgeschlossen und können jetzt die Bereitstellung testen.

IBM Db2 Warehouse Client-Container bereitstellen

Für das Hochladen von Daten in IBM Db2 Warehouse stellen Sie jetzt den Client-Container bereit und ordnen ihm die Beispieldaten mithilfe einer Kubernetes-ConfigMap zu.

  1. Erstellen Sie in Cloud Shell eine ConfigMap, die die Beispieldaten enthält:

    kubectl create configmap sample-data \
        --from-file=solutions-db2wh/sample-data/nyc-wifi-locs.csv \
        --from-file=solutions-db2wh/sample-data/sample-table.sql
    
  2. Erstellen Sie die Bereitstellung, um den Container des IBM Db2 Warehouse-Clients zu starten:

    kubectl apply -f solutions-db2wh/client.yaml
    
  3. Prüfen Sie, ob der IBM Db2 Warehouse Client-Pod ausgeführt wird:

    kubectl get pods --watch
    

    Dies kann einige Minuten dauern.

    Der Pod wird ausgeführt, wenn der Status Running angezeigt wird:

    db2wh-client-xxxxx-xxxx   1/1       Running   0         3m
    

Beispieldaten hochladen

Laden Sie für den Test der Bereitstellung Beispieldaten auf den IBM Db2 Warehouse-Server hoch.

  1. Rufen Sie in Cloud Shell das zuvor erstellte Passwort auf:

    echo $DB2_ADMIN_PASSWORD
    
  2. Erstellen Sie eine Umgebungsvariable, in der der Name des IBM Db2 Warehouse-Client-Containers gespeichert wird:

    CLIENT_CONTAINER_NAME=$(kubectl get pods -l app=db2wh-client -o=jsonpath='{.items[0].metadata.name}')
    
  3. Öffnen Sie ein Shell-Fenster im Client-Container:

    kubectl exec -it $CLIENT_CONTAINER_NAME -- cli
    
  4. Erstellen Sie eine Umgebungsvariable, in der das Passwort gespeichert wird, wobei [PASSWORD] das zuvor aufgerufene Passwort ist:

    DB_PASSWORD=[PASSWORD]
    
  5. Erstellen Sie eine Umgebungsvariable, in der der Datenbankalias gespeichert wird:

    DB_ALIAS=BLUDB
    

    BLUDB ist der Standarddatenbankname in IBM Db2 Warehouse.

  6. Erstellen Sie eine Umgebungsvariable, in der der Datenbankhostname gespeichert wird:

    DB_HOST=db2wh-ext.default.svc.cluster.local
    
  7. Richten Sie den Datenbankkatalog ein:

    db_catalog --add $DB_HOST --alias $DB_ALIAS
    
  8. Erstellen Sie für die Beispieldaten eine Tabelle auf dem IBM Db2 Warehouse-Server:

    dbsql -f /sample-table.sql -d $DB_ALIAS -h $DB_HOST -u bluadmin -W $DB_PASSWORD
    
  9. Laden Sie die Daten auf den IBM Db2 Warehouse-Server hoch:

    dbload -verbose -host $DB_HOST -u bluadmin \
    -pw $DB_PASSWORD -db $DB_ALIAS -schema BLUADMIN \
    -t NYC_FREE_PUBLIC_WIFI -df /nyc-wifi-locs.csv -delim ',' \
    -quotedValue DOUBLE -timeStyle 12HOUR -skipRows 1
    
  10. Verlassen Sie die Shell des IBM Db2 Warehouse-Clients:

    exit
    

Daten mit der Verwaltungskonsole prüfen

Sie können jetzt eine Verbindung zur IBM Db2 Warehouse-Verwaltungskonsole herstellen und prüfen, ob die Daten hochgeladen wurden.

  1. Suchen Sie in Cloud Shell die externe IP-Adresse des Dienstes:

    kubectl get svc db2wh-ext
    
  2. Rufen Sie einen Browser und die folgende URL auf, wobei [EXTERNAL_IP] die IP-Adresse aus dem vorherigen Schritt ist:

    https://[EXTERNAL_IP]:8443
    

    Sie können die Sicherheitswarnung ignorieren.

  3. Geben Sie folgende Anmeldedaten ein:

    • Nutzername: bluadmin
    • Passwort: das Passwort, das Sie im vorherigen Abschnitt erstellt haben
  4. Klicken Sie auf Accept (Akzeptieren), wenn Sie dem Endnutzer-Lizenzvertrag (EULA) von IBM Db2 Warehouse zustimmen.

  5. Öffnen Sie auf der linken Seite das Menü und wählen Sie Administer > Tables (Verwalten > Tabellen) aus:

    IBM Db2 Warehouse-Verwaltungsoberfläche mit dem Ordner "Tables" (Tabellen)

  6. Schließen Sie das Pop-up Quick Tour (Kurzeinführung).

  7. Klicken Sie auf NYC_FREE_PUBLIC_WIFI:

    Liste der verfügbaren WLAN-Hotspots

  8. Klicken Sie auf den Tab Data Distribution (Datenverteilung) und prüfen Sie, ob die Tabelle Werte enthält:

    Tab "Data Distribution" (Datenverteilung) in der Tabellenliste

    Es werden insgesamt 2.871 Zeilen angezeigt, also das gesamte Dataset.

  9. Klicken Sie auf Generate SQL (SQL generieren).

  10. Wählen Sie SELECT statement (SELECT-Anweisung) aus.

  11. Klicken Sie auf OK.

    Der Tab Generate SQL (SQL generieren) wird geöffnet und darin eine automatisch generierte SELECT-Anweisung angezeigt.

  12. Fügen Sie der automatisch generierten SELECT-Anweisung eine LIMIT-Klausel hinzu, um die Ergebnisse auf die ersten fünf Datensätze zu beschränken:

    SELECT "THE_GEOM", "OBJECTID", "BORO", "TYPE", "PROVIDER", "NAME", "LOCATION",
           "LAT", "LON", "X", "Y", "LOCATION_T", "REMARKS", "CITY", "SSID",
           "SOURCEID", "ACTIVATED", "BOROCODE", "BORONAME", "NTACODE", "NTANAME",
           "COUNDIST", "POSTCODE", "BOROCD", "CT2010", "BOROCT2010", "BIN", "BBL", "DOITT_ID"
      FROM "BLUADMIN"."NYC_FREE_PUBLIC_WIFI"
      LIMIT 5;
    
  13. Klicken Sie auf Run (Ausführen) und wählen Sie Run all (Alle ausführen) aus.

    Auf dem Tab Result Set (Ergebnis-Set) wird eine Liste von Datensätzen angezeigt, aus der hervorgeht, dass die Beispieldaten erfolgreich hochgeladen wurden.

    Ergebnisse der ausgeführten SQL-Anweisung mit fünf Datensätzen der hochgeladenen Daten

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.

Projekt löschen

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

    Zur Seite „Ressourcen verwalten“

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

Weitere Informationen