Tipps zu gcloud compute

Diese Seite enthält Tipps, die hilfreich sein könnten, wenn Sie das gcloud-Befehlszeilentool zum Verwalten Ihrer Google Compute Engine-Ressourcen verwenden. Eine vollständige Liste aller verfügbaren Flags und Befehle für gcloud compute finden Sie in der integrierten Hilfe (--help), in der veröffentlichten Referenzdokumentation oder in der Dokumentation zu gcloud core.

Vorbereitung

Informationen zu Ressourcen abrufen

Informationen zu Compute Engine-Ressourcen können Sie auf zwei Arten abrufen: Mit dem Befehl list, um eine Liste von Ressourcen zurückzugeben, und mit dem Befehl describe, um Details zu einer bestimmten Ressource zurückzugeben.

Ressourcen mit list-Befehlen abrufen

Mit den list-Befehlen kann eine menschenlesbare Tabelle der relevantesten Daten für die angeforderten Ressourcen abgerufen werden. Sie können Ihre Ergebnisse optional filtern, um eine kürzere Liste mit relevanteren Ergebnissen anzuzeigen.

Mit regulären Ausdrücken nach Namen filtern
Mit der RE2-Syntax können Sie Ressourcennamen wie beispielsweise Instanz- oder Laufwerknamen abgleichen. Weitere Informationen erhalten Sie unter gcloud compute instances list.
Befehlsflags
--limit

Die maximale Anzahl von zurückzugebenden Ergebnissen. Dieses Flag ist speziell in Kombination mit dem Flag --sort-by nützlich, das im Abschnitt Ressourcen mit describe-Befehlen abrufen beschrieben wird.

--sort-by SORT_BY

Ein Feld, nach dem gegebenenfalls sortiert werden soll. Wenn in absteigender Reihenfolge sortiert werden soll, stellen Sie dem Wert eine Tilde ("~") voran.

Ressourcen mit describe-Befehlen abrufen

Über die describe-Befehle erhalten Sie Daten zu einer einzelnen Ressource. Sie müssen den Namen der Ressource im describe-Befehl angeben. Wenn Sie den Ressourcennamen nicht mehr wissen, können Sie mit dem list-Befehl eine Liste der Ressourcen abrufen. Mit den beiden folgenden Befehlen können Sie z. B. Images auflisten, um einen Image-Namen und das zugehörige Projekt abzurufen, damit Sie sie in einem describe-Befehl angeben können:

gcloud compute images list
NAME                                PROJECT        FAMILY     DEPRECATED STATUS
...
centos-7-v20170620                  centos-cloud   centos-7              READY
...
debian-9-stretch-v20170619          debian-cloud   debian-9              READY
...
gcloud compute images describe debian-9-stretch-v20170619 --project debian-cloud

Die Standardausgabe von describe-Befehlen hat das YAML-Format. Wenn Sie jedoch das --format-Flag verwenden, können Sie zwischen JSON-, YAML- und Textausgabeformaten wählen. Eine Ausgabe im JSON-Format wird insbesondere dann verwendet, wenn die Ausgabe geparst wird, während bei der Ausgabe im Textformat jede Eigenschaft in einer separaten Zeile steht.

gcloud compute regions describe us-central1 --format json
{
  "creationTimestamp": "2013-09-06T10:36:54.847-07:00",
  "description": "us-central1",
  "id": "6837843067389011605",
  "kind": "compute#region",
  "name": "us-central1",
  ...
  "status": "UP",
  "zones": [
    "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a",
    "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b",
    "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f"
  ]
}

Beispiele

Beispiele für list-Befehle

Beim Auflisten von Ressourcen erhalten Sie eine übersichtliche Tabelle mit zusammengefassten Daten. Verwenden Sie zum Beispiel den Befehl instances list, um Übersichtsdaten zu Instanzen im Projekt abzurufen:

gcloud compute instances list
NAME               ZONE          MACHINE_TYPE  INTERNAL_IP    EXTERNAL_IP     STATUS
example-instance   asia-east1-b  n1-standard-1 10.240.95.199  107.167.182.44  RUNNING
example-instance2  us-central1-a n1-standard-1 10.240.173.254 23.251.148.121  RUNNING
test-instance      us-central1-a n1-standard-1 10.240.118.207 23.251.153.172  RUNNING

Sie können Ergebnisse der list-Befehle filtern, wenn Sie das Flag --filter mit dem Operator key ~ value einbeziehen. Filtern Sie z. B. die Liste mit Instanzen, sodass nur die Instanzen mit "test" im Instanznamen einbezogen werden:

gcloud compute instances list --filter="name ~ .*test.*"
NAME           ZONE          MACHINE_TYPE  INTERNAL_IP    EXTERNAL_IP     STATUS
test-instance  us-central1-a n1-standard-1 10.240.118.207 23.251.153.172  RUNNING

Wenn Sie eine Liste der Zonenvorgänge abrufen möchten, die den status "DONE" und nicht den httpStatus "200" haben, wenden Sie den Filter zone auf den Befehl operations list an. Wenden Sie anschließend auf das Ergebnis grep an:

gcloud compute operations list --filter="zone:(us-central1-a)" | grep DONE | grep 200
NAME                                                    HTTP_STATUS TYPE   TARGET                               STATUS
operation-1397752585735-4f73fa25b4b58-f0920fd5-254d709f 400         delete us-central1-a/disks/example-instance DONE
operation-1398357613036-4f7cc80cb41e0-765bcba6-34bbd040 409         insert us-central1-a/instances/i-1          DONE
operation-1398615481237-4f8088aefbe08-cc300dfa-2ce113cf 409         insert us-central1-a/instances/i-2          DONE

Wenn Sie eine Liste mit Laufwerken in us-central1-a abrufen möchten, die in absteigender Reihenfolge nach dem Namen sortiert sind (--sort-by ~NAME), verwenden Sie den Befehl disks list:

gcloud compute disks list --sort-by ~NAME --filter="zone:(us-central1-a)"

In einigen Fällen benötigen Sie den vollständigen URI-Link zur Ressource, z. B. bei Anfragen, bei denen Sie die Ausgabe eines list-Befehls an einen anderen Befehl oder eine andere Anwendung übergeben, der bzw. die eine Liste mit Ressourcenlinks übernimmt. Verwenden Sie zum Anzeigen der vollständigen URI-Ressourcenlinks das --uri-Flag mit einem list-Befehl.

gcloud compute instances list --uri --filter="name~'^example-.*'"
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance1
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance2

Verwenden Sie Folgendes, um die vorherige Ausgabe des Befehls list mit einem Befehl zu verwenden, der Instanzen löscht:

gcloud compute instances delete $(gcloud compute instances list --uri --filter="name~'^example-.*'")

Beispiele für describe-Befehle

Um Details zu nur einer Instanz abzurufen, geben Sie die Instanz einschließlich Zone an. Wenn Sie z. B. Informationen zur Instanz "example-instance" in der Zone "asia-east1-b" abrufen möchten, können Sie den Befehl instances describe verwenden:

gcloud compute instances describe example-instance --zone asia-east1-b

Standardmäßig erfolgt die Ausgabe im YAML-Format. Um die Ausgabe in das JSON- oder Textformat (eine Eigenschaft pro Zeile) zu ändern, verwenden Sie das --format-Flag. Um das Ergebnis für dieselbe Instanz im Textformat auszugeben, verwenden Sie Folgendes:

gcloud compute instances describe example-instance --zone asia-east1-b --format text
---
canIpForward:                                False
creationTimestamp:                           2014-04-19T06:43:04.087-07:00
disks[0].autoDelete:                         False
disks[0].boot:                               True
disks[0].deviceName:                         example-instance
...

Wenn Sie Details zu einem bestimmten Vorgang abrufen möchten, verwenden Sie den Befehl operations list. Damit können Sie den vollqualifizierten URI des Vorgangs ermitteln:

gcloud compute operations list --filter="zone:(us-central1-a)"
NAME                                                    TYPE   TARGET                                      HTTP_STATUS STATUS
operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0 delete us-central1-a/instances/example-instance    200         DONE
operation-1406155180632-4fee4040a67c1-bf581ed8-ab5af2b8 delete us-central1-a/instances/example-instance-2  200         DONE
...

Verwenden Sie den URI anschließend im Befehl operations describe:

gcloud compute operations describe \
operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0 --zone us-central1-a
endTime: '2014-07-23T15:40:02.463-07:00'
id: '31755455923038965'
insertTime: '2014-07-23T15:39:25.910-07:00'
kind: compute#operation
name: operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0
operationType: delete
progress: 100
...

Mit dem folgenden Befehl werden die Instanzeinstellungen im JSON-Format (--format json) abgerufen.

gcloud compute instances describe example-instance \
    --zone us-central1-a
    --format json
{
   ...
   "name": "example-instance",
   "networkInterfaces": [
    {
      "accessConfigs": [
        {
          "kind": "compute#accessConfig",
          "name": "external-nat",
          "natIP": "107.167.187.66",
          "type": "ONE_TO_ONE_NAT"
        }
      ],
      "name": "nic0",
      "network": "https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default",
      "networkIP": "10.240.111.51"
    }
   ],
   ...
   "status": "RUNNING"
   ...
}

Nutzerautorisierung prüfen

Mit dem folgenden Befehl ermitteln Sie, über welche Autorisierung Ihr Konto verfügt:

gcloud auth list

Aktualisierungstoken widerrufen

Um die Anmeldedaten für ein Konto auf der Maschine zu widerrufen, auf der Sie das Cloud SDK verwenden, geben Sie Folgendes an:

gcloud auth revoke

Dadurch werden Sie zu einer erneuten Authentifizierung mittels gcloud init gezwungen.

Sie können auch die Berechtigung des Cloud SDKs für den Zugriff auf die Ressourcen widerrufen. Dies kann beispielsweise erforderlich sein, wenn Unbefugte in Besitz Ihres Aktualisierungstokens gelangt sind. So widerrufen Sie die Berechtigung für das Cloud SDK:

  1. Melden Sie sich auf der Seite für das Google-Konto an.
  2. Klicken Sie auf Sicherheit. Klicken Sie dann im Abschnitt Kontoberechtigungen auf Alle anzeigen.
  3. Wählen Sie Google Cloud SDK aus und klicken Sie auf Zugriff entziehen.

Instanz neu starten

Wenn Sie eine Instanz mit dem Namen "example-instance" in der Zone "us-central1-a" zurücksetzen möchten, verwenden Sie den Befehl instances reset:

gcloud compute instances reset example-instance --zone us-central1-a

Informationen zu den Auswirkungen einer Zurücksetzung finden Sie in der Dokumentation Instanz zurücksetzen.

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Compute Engine-Dokumentation