Tipps zu gcloud compute

Dieses Dokument enthält Tipps zur Arbeit mit gcloud compute. Eine 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

Sie können auf zwei Arten Informationen über Ressourcen von Google Compute Engine erhalten: Sie können mit dem Befehl list eine Liste von Ressourcen abrufen und mit dem Befehl describe Details über eine bestimmte Ressource erhalten.

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 besonders nützlich in Kombination mit dem Flag --sort-by, 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 z. B. 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 einem key ~ value-Operator 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 einen status von DONE und keinen httpStatus von 200 haben, wenden Sie einen zone-Filter auf einen Befehl operations list an und verwenden Sie grep mit dem Ergebnis:

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

Verwenden Sie den Befehl disks list, um eine Liste mit Laufwerken für die Zone us-central1-a abzurufen, die in absteigender Reihenfolge nach Name (--sort-by ~NAME) sortiert ist:

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 voll qualifizierten 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 in einem operations describe-Befehl:

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

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

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

Feedback geben zu...

Compute Engine-Dokumentation