Nutzen Sie Image-Familien, um die Versionsverwaltung von Images zu vereinfachen. Wenn Sie ein Image zu einer Image-Familie hinzufügen, wird dieses als neueste Imageversion festgelegt. Wenn Sie feststellen, dass Sie die Image-Familie auf eine frühere Image-Version zurücksetzen müssen, verwerfen Sie das neueste Image in der Familie.
Best Practices für die Arbeit mit Image-Familien finden Sie unter Best Practices für Image-Familien.
Optional können Sie den
Speicherort des Images über die
Google Cloud Konsole, den
gcloud compute images create Befehl
mit dem --storage-location Flag oder die
images().insert Methode angeben.
Hinweis
- Lesen Sie das Dokument zu Images.
-
Richten Sie die Authentifizierung ein, wenn 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. Wenn Sie
Code oder Beispiele aus einer lokalen Entwicklungsumgebung ausführen möchten, können Sie sich bei
Compute Engine authentifizieren, indem Sie eine der folgenden Optionen auswählen:
Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:
Console
Wenn Sie über die Google Cloud Console auf Google Cloud Dienste und APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.
gcloud
-
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud initWenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
- Legen Sie eine Standardregion und -zone fest.
REST
Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.
Installieren Sie die Google Cloud CLI.
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
Weitere Informationen finden Sie in der Google Cloud Authentifizierungsdokumentation unter Für die Verwendung von REST authentifizieren.
Image-Version in einer Image-Familie festlegen
Console
Rufen Sie in der Google Cloud Console die Seite Image erstellen auf.
Geben Sie im Feld Name den Image-Namen an. Beispiel:
image-v1.Geben Sie die Quelle an, auf deren Grundlage Sie ein Image erstellen möchten. Dies kann ein nichtflüchtiger Speicher, ein Snapshot, ein anderes Image oder eine disk.raw-Datei in Cloud Storage sein.
Wenn Sie ein Image von einem Laufwerk erstellen, das mit einer ausgeführten VM verbunden ist, aktivieren Sie Instanz weiter ausführen, um zu bestätigen, dass Sie das Image erstellen möchten, während die VM ausgeführt wird. Sie können die VM vorbereiten, bevor Sie das Image erstellen.
Geben Sie in der Drop-down-Liste Basierend auf dem Standort des Quelllaufwerks (Standard) den Speicherort für das Image an. Geben Sie beispielsweise
usan, um das Image in der Multiregionuszu speichern, oderus-central1, um es in der Regionus-central1zu speichern. Wenn Sie keine Auswahl treffen, wird das Image von Compute Engine an dem multiregionalen Standort gespeichert, der dem Quellspeicherort des Images am nächsten liegt.Geben Sie das Image Familie für das neue Image an. Fügen Sie beispielsweise
my-image-familyhinzu, um das Image als Teil einer Image-Familie zu organisieren.Optional: Geben Sie weitere Bildattribute an:
- Beschreibung: Eine Beschreibung für Ihr benutzerdefiniertes Image.
- Label: ein Label, um Ressourcen zu gruppieren.
Geben Sie den Verschlüsselungsschlüssel an. Sie können zwischen einem von Google verwalteten Verschlüsselungsschlüssel Google-owned and Google-managed encryption key, einem Cloud Key Management Service-Schlüssel (Cloud KMS) oder einem vom Kunden bereitgestellten Verschlüsselungsschlüssel (Customer-Supplied Encryption Key, CSEK) wählen. Wenn kein Verschlüsselungsschlüssel angegeben ist, werden die Images mit einem von Google verwalteten Verschlüsselungsschlüssel Google-owned and Google-managed encryption keyverschlüsselt.
Klicken Sie auf Erstellen , um das Image zu erstellen.
gcloud
gcloud compute images create image-v1 \
--source-disk disk-1 \
--source-disk-zone us-central1-f \
--family my-image-family
Die Image-Familie verweist auf image-v1. Fügen Sie der Familie ein zweites Image hinzu:
gcloud compute images create image-v2 \
--source-disk disk-2 \
--source-disk-zone us-central1-f \
--family my-image-family
REST
Stellen Sie eine POST Anfrage an die
images().insert Methode.
Geben Sie im Anfragetext die Image-Familie an.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images
{
"name": "image-v2",
"sourceDisk": "/zones/us-central1-f/disks/disk-2",
"family":"my-image-family",
}
Die Image-Familie verweist auf image-v2, weil dies das neueste Image ist, das Sie der Familie hinzugefügt haben.
gcloud
Mit dem Befehl gcloud compute images describe-from-family können Sie sehen, auf welches Image eine Familie verweist.
Beispiel:
gcloud compute images describe-from-family my-image-family
family: my-image-family
id: '8904691942610171306'
kind: compute#image
name: image-v2
selfLink: https://compute.googleapis.com/compute/v1/projects/my-project/global/images/image-v2
sourceDisk: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/disks/disk-v2
sourceDiskId: '1677449456001963379'
sourceType: RAW
status: READY
REST
Stellen Sie eine GET Anfrage an die
images().getFromFamily Methode.
Geben Sie im Anfragetext die Image-Familie an.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/family
{
"resourceId":"my-image-family",
}
Wenn Sie feststellen, dass Sie ein Rollback der Image-Familie ausführen müssen, sodass sie nicht mehr auf image-v2 verweist, verwerfen Sie image-v2 und die Familie verweist wieder auf image-v1.
gcloud compute images deprecate image-v2 \
--state DEPRECATED \
--replacement image-v1
Prüfen Sie, ob die Image-Familie auch wirklich auf image-v1 verweist.
gcloud compute images describe-from-family my-image-family
family: my-image-family
id: '2741732787056801255'
kind: compute#image
name: image-v1
selfLink: https://compute.googleapis.com/compute/v1/projects/my-project/global/images/image-v1
sourceDisk: https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f/disks/disk-v1
sourceDiskId: '1677449456001963379'
sourceType: RAW
status: READY