Anwendungstipps zu gcloud compute


Diese Seite enth�lt Tipps, die hilfreich sein k�nnten, wenn Sie das gcloud-Befehlszeilentool zum Verwalten Ihrer 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.

Hinweise

  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identit�t f�r den Zugriff auf Google Cloud-Dienste und APIs �berpr�ft. Zur Ausf�hrung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung k�nnen Sie sich wie folgt bei Compute Engine authentifizieren.
    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.

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 l�sst sich eine f�r Menschen lesbare Tabelle der relevantesten Daten f�r die angeforderten Ressourcen abrufen. Die Ergebnisse lassen sich 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 finden Sie im Abschnitt zum Befehl 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. Dieses Flag interagiert mit anderen Flags, die in dieser Reihenfolge angewendet werden: --flatten, --sort-by, --filter, --limit.

Ressourcen mit describe-Befehlen abrufen

�ber die describe-Befehle erhalten Sie Daten zu einer einzelnen Ressource. Den Namen der Ressource m�ssen Sie im Befehl describe angeben. Wenn Sie den Ressourcennamen nicht mehr wissen, k�nnen Sie mit dem Befehl list 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, ist es m�glich, zwischen JSON, YAML und Text als Ausgabeformat zu w�hlen. Eine Ausgabe im JSON-Format ist insbesondere dann n�tzlich, 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": [
    "/proxy/https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a",
    "/proxy/https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b",
    "/proxy/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  e2-standard-2 10.240.95.199  107.167.182.44  RUNNING
example-instance2  us-central1-a e2-standard-2 10.240.173.254 23.251.148.121  RUNNING
test-instance      us-central1-a e2-standard-2 10.240.118.207 23.251.153.172  RUNNING

Sie k�nnen Ergebnisse der list-Befehle mit regul�ren Ausdr�cken 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 e2-standard-2 10.240.118.207 23.251.153.172  RUNNING

Wenn Sie eine Liste der Zonenvorg�nge abrufen m�chten, die DONE als status und nicht 200 als httpStatus 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 -v 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)"

Manchmal 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 oder die eine Liste mit Ressourcenlinks �bernimmt. Verwenden Sie zum Anzeigen der vollst�ndigen URI-Ressourcenlinks das Flag --uri mit einem list-Befehl.

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

So verwenden Sie die vorangegangene Ausgabe des Befehls list mit einem Befehl, 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 Flag --format. 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": "/proxy/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

So widerrufen Sie die Anmeldedaten f�r ein Konto auf dem Computer, auf dem Sie die Google Cloud CLI verwenden:

gcloud auth revoke

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

Sie k�nnen auch die Berechtigung der gcloud CLI 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 die gcloud CLI:

  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.