Von gcutil auf gcloud compute umsteigen


Da gcloud compute allgemein verfügbar ist, wird allen Nutzern von Compute Engine empfohlen, von gcutil auf das gcloud compute-Tool umzusteigen. gcloud compute ist ein vereinheitlichtes Befehlszeilentool, das im Vergleich zu gcutil einige Verbesserungen bietet. Dazu gehören:

  • Tab-Vervollständigung
  • Direkte Upgrades
  • Umfangreiche Hilfefunktion im Manpage-Stil
  • Auswahl an verschiedenen Ausgabeformaten

In dieser Anleitung werden die wichtigsten Unterschiede zwischen den beiden Tools dargelegt, um Ihnen den Umstieg von gcutil auf gcloud compute zu erleichtern. Eine ausführliche Beschreibung des gcloud compute-Tools finden Sie in der Dokumentation zu gcloud compute.

Neue gcloud-Befehle

Alle gcutil-Befehle sind abgesehen von wenigen Ausnahmen im gcloud compute-Tool von gleichwertigen Befehlen ersetzt worden. Eine vollständige Liste der gcloud-Befehle erhalten Sie auf den entsprechenden Referenzseiten oder durch Ausführung des Befehls gcloud compute --help. In der nachfolgenden Tabelle sind die Unterschiede zu den häufig genutzten gcutil-Befehlen kurz dargestellt.

gcutil-Befehl Befehl von gcloud compute
gcutil addinstance INSTANCE
gcloud compute instances create INSTANCE
Hinweise

Erstellt eine Instanz.

  • Standardzone/-region kann festgelegt werden, andernfalls erfordert "gcloud compute" die Eingabe einer Zone/Region.
  • Erstellt eine virtuelle Maschine mit Standardattributen wie etwa:
    • Maschinentyp: n1-standard-1
    • Image: debian-10

Siehe Instanz erstellen und starten.

gcutil-Befehl Befehl von gcloud compute
gcutil deleteinstance INSTANCE
gcloud compute instances delete INSTANCE \
       [--keep-disks {boot,all,none}]
Hinweise

Löscht Instanzen. Siehe Instanz löschen.

gcutil-Befehl Befehl von gcloud compute
gcutil ... --cache_flag_values
gcloud configs set project PROJECT
gcloud configs set compute/zone ZONE
gcloud configs set compute/region REGION
Hinweise

Legt die Standardwerte für Projekt, Zone und Region fest. Siehe Eine Standardzone und -region festlegen.

gcutil-Befehl Befehl von gcloud compute
gcutil push/pull
gcloud compute scp
Hinweise

Kopiert Dateien zwischen einem lokalen Computer und einer virtuellen Maschine. Siehe Dateien mit dem Google Cloud CLI übertragen.

gcutil-Befehl Befehl von gcloud compute
gcutil deleteRESOURCE
gcloud compute RESOURCES delete
Hinweise

Löscht Ressourcen. Beispiel:

gcloud compute instances delete example-instance
gcutil-Befehl Befehl von gcloud compute
gcutil getRESOURCES
gcloud compute RESOURCES describe
Hinweise

Beschreibt eine einzelne Ressource. Beispiel:

gcloud compute instances describe example-instance

gcutil-Befehl Befehl von gcloud compute
gcutil listRESOURCES
gcloud compute RESOURCES list
Hinweise

Erstellt eine Liste aller Ressourcen dieses Typs. Z. B. eine Liste aller Instanzen:

gcloud compute instances list

gcutil-Befehl Befehl von gcloud compute
gcutil setmetadata
gcloud compute instances add-metadata
gcloud compute instances remove-metadata
gcloud compute project-info add-metadata
gcloud compute project-info remove-metadata
Hinweise

Das optimistische Sperrverfahren wird nun vom Tool durchgeführt. Sie müssen daher Fingerabdrücke nicht mehr manuell festlegen. Siehe Benutzerdefinierte Instanzmetadaten festlegen.

gcutil-Befehl Befehl von gcloud compute
gcutil … --dump_request_response

Noch nicht verfügbar.

gcutil-Befehl Befehl von gcloud compute
gcutil … --log_level=DEBUG
gcloud … --verbosity debug
Hinweise

Außerdem werden für jeden Befehl unter ~/.config/gcloud/logs Protokolldateien gespeichert.

gcutil-Befehl Befehl von gcloud compute
gcutil ssh INSTANCE --ssh_user
gcloud compute ssh USER@INSTANCE
Hinweise

Siehe Mit einer Instanz verbinden.

gcutil-Befehl Befehl von gcloud compute
gcutil … \
--image=projects/project-id/global/images/image
gcloud compute … --image image-name \
       --image-project image-project
Hinweise

Siehe Eine Instanz aus einem Image starten.

gcutil-Befehl Befehl von gcloud compute
gcutil deleteinstances --[no]delete_pd
gcutil deleteinstances --[no]delete_boot_pd
gcloud compute instances delete … \
       --delete-disks {all,none,boot}
gcloud compute instances delete … \
       --keep-disks {all,none,boot}
Hinweise

Wenn das Laufwerk zum automatischen Löschen gekennzeichnet ist, wird es automatisch gelöscht, es sei denn, Sie legen das Flag --keep-disks fest.

Standardmäßige Image-Einstellungen

Beim Erstellen einer Instanz in gcloud compute stehen jetzt mehrere Standardwerte für das Image und den Maschinentyp Ihrer virtuellen Maschine zur Verfügung. Diese Standardwerte können Sie verwenden, wenn Sie die Flags --image und --machine-type weglassen. Alternativ haben Sie die Möglichkeit, diese Einstellungen durch Angabe der entsprechenden Flags zu überschreiben. Die Standardeinstellungen für virtuelle Maschinen lauten:

  • Standard-Image: aktuelles debian-10-Image
  • Standard-Maschinentyp: n1-standard-1

So können Sie beispielsweise folgenden Befehl ausführen:

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

gcloud compute erstellt auf Basis des oben angeführten Images und Typs eine Instanz.

Ausgabeformat

Das Standard-Ausgabeformat wurde geändert und hängt vom jeweiligen Befehl ab, den Sie ausführen. Wenn Sie beispielsweise den Befehl describe ausführen, um Informationen zu einer einzelnen Ressource abzurufen, wird die Antwort im YAML-Format ausgegeben. Mit dem Flag --format können Sie die Antwort in verschiedenen Ausgabeformaten wie JSON oder Text zurückgeben:

gcloud compute instances list --format {json,yaml,text}

Additive Aktualisierung von Metadaten

Wenn Sie Metadaten festlegen oder aktualisieren, benötigen Sie ab sofort keinen Fingerabdruck mehr. Alle Metadaten-Änderungen sind nun standardmäßig additiv. Sie können einzelne Metadaten-Eintrage hinzufügen oder aktualisieren, ohne eine Stapelaktualisierungen aller Metadaten vornehmen zu müssen. Es werden nur eingereichte Metadaten-Schlüssel angepasst.

gcloud compute instances add-metadata example-instance \
         --metadata cookies=chocolate

Image-Projekte festlegen

Bisher mussten Sie zur Festlegung eines exakten Images einen partiellen Image-URI angeben, der den Projektnamen enthielt. Beispiel:

gcutil addinstance example-instance \
         --image=projects/debian-cloud/global/images/debian-9

In gcloud compute müssen Sie nun das Image-Projekt mit einem neuen --image-project-Flag festlegen:

gcloud compute instances create example-instance \
         --image debian-9-stretch-vYYYMMDD
         --image-project debian-cloud

Sie können außerdem den vollständigen URI angeben:

gcloud compute instances create example-instance \
         --image https://compute.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-9-stretch-vYYYMMDD