In diesem Dokument werden die Best Practices für die Verwendung von Image-Familien in Compute Engine erläutert.
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 bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
IMAGE_FAMILY_NAME
ist der Name der Image-Familie, nach der Sie suchen möchten. Eine vollständige Liste der Image-Familiennamen finden Sie unter Details zu Betriebssystemen.IMAGE_PROJECT
ist der Name des Image-Projekts. Eine vollständige Liste der Image-Projektnamen finden Sie unter Details zu Betriebssystemen.IMAGE_PROJECT
ist der Name des Image-Projekts. Eine vollständige Liste der Image-Projektnamen finden Sie unter Details zu Betriebssystemen.IMAGE_FAMILY_NAME
ist der Name der Image-Familie, nach der Sie suchen möchten. Eine vollständige Liste der Image-Familiennamen finden Sie unter Details zu Betriebssystemen.IMAGE_FAMILY_NAME
ist der Name der Image-Familie, nach der Sie suchen möchten. Eine vollständige Liste der Image-Familiennamen finden Sie unter Details zu Betriebssystemen.IMAGE_PROJECT
ist der Name des Image-Projekts. Eine vollständige Liste der Image-Projektnamen finden Sie unter Details zu Betriebssystemen.ZONE
ist die Zone, die Sie abfragen möchten.IMAGE_PROJECT
ist der Name des Image-Projekts. Eine vollständige Liste der Image-Projektnamen finden Sie unter Details zu Betriebssystemen.ZONE
ist die Zone, die Sie abfragen möchten.IMAGE_FAMILY_NAME
ist der Name der Image-Familie, nach der Sie suchen möchten. Eine vollständige Liste der Image-Familiennamen finden Sie unter Details zu Betriebssystemen.- Richten Sie eine von Ihrer Produktionsumgebung getrennte Testumgebung ein.
- Führen Sie in der Testumgebung die folgenden Schritte aus:
- Erstellen Sie eine benutzerdefinierte Image-Familie aus der Quell-Image-Familie.
- Prüfen Sie die Stabilität des neuen Images in der benutzerdefinierten Image-Familie auf Basis Ihrer Arbeitslasten.
- Nach der Prüfung verschieben Sie diese benutzerdefinierte Image-Familie in eine Produktionsumgebung.
Erstellen Sie in Ihrem Testprojekt ein Image aus der Quell-Image-Familie. Diese neue Quell-Image-Familie muss auch eine eigene benutzerdefinierte Image-Familie haben, auf die in der Testumgebung verwiesen werden kann. Führen Sie den folgenden Befehl aus, um das Image mit einer benutzerdefinierten Image-Familie zu erstellen:
gcloud compute images create test-image-name \ --source-image-project source-project \ --source-image-family source-image-family \ --project test-project \ --family test-image-family
Dabei gilt:
test-image-name
ist der Name des Test-Images.source-project
ist das Projekt, zu dem die Quell-Image-Familie gehört.source-image-family
ist der Name der Quell-Image-Familie.test-project
ist der Name des Testprojekts, dem Sie die Image-Familie hinzufügen möchten.test-image-family
ist der Name der Test-Image-Familie.
Erstellen Sie mit der benutzerdefinierten Image-Familie
test-image-family
eine VM, um Ihre Arbeitslast zu testen. Führen Sie den folgenden Befehl aus, um die VM zu erstellen:gcloud compute instances create test-instance-name \ --image-family your-test-image-family \ --project test-project
Dabei gilt:
test-instance-name
ist der Name der Testinstanz.test-image-family
ist der Name der Test-Image-Familie.test-project
ist der Name des Testprojekts.
Sobald Sie geprüft haben, ob dieses Image für Ihre Arbeitslast geeignet ist, kopieren Sie das Image in Ihre Produktionsumgebung.
gcloud compute images create prod-image-name \ --source-image-family test-image-family \ --source-image-project test-project \ --project prod-project \ --family prod-image-family
Dabei gilt:
prod-image-name
ist der Name Ihres Produktions-Images.test-image-family
ist der Name der Test-Image-Familie.test-project
ist das Projekt, zu dem die Test-Image-Familie gehört.prod-project
ist der Name Ihres Projekts in der Produktionsumgebung.prod-image-family
ist der Name der Image-Familie, die Sie in Ihrer Produktionsumgebung verwenden möchten.
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.
Öffentliche Image-Familien
Compute Engine stellt Image-Familien bereit, mit denen Sie sicherstellen können, dass Ihre Automatisierungssysteme auf die neuesten Images verweisen. Als Administrator können Sie eine Gruppe von Images als Image-Familie zusammenfassen. So müssen die Nutzer der Images nur auf den Namen der Image-Familie statt auf einen genauen Image-Namen achten. Da Image-Namen eindeutig sein müssen, erstellen Image-Build-Pipelines oft Image-Namen mit darin codierten Informationen. So wird beispielsweise der Anwendungsname, das Datum und die Version angegeben:
my-application-v3-20210101
. In Automatisierungstools können Sie auf den Namen der Image-Familie verweisen, anstatt den Image-Namen in regelmäßigen Abständen aktualisieren zu müssen. Durch die Nutzung von Image-Familien können Sie immer auf das neueste Image in der Familie zugreifen, z. B.my-application
.Öffentliche Images werden in Image-Familien gruppiert. Eine öffentliche Image-Familie verweist immer auf die neueste Version eines Images, das in jeder Zone verfügbar ist. Wenn neue Images global veröffentlicht werden, ist deren anfängliche Verfügbarkeit in Image-Familien zonenabhängig. Dies verbessert die zonale Fehlertoleranz für Ihre Workflows bei Google-Image-Updates.
Während des Image-Rollouts kann die neueste Version eines Images in einer Image-Familie in verschiedenen Zonen abweichen. Beispielsweise verweist die Image-Familie
debian-10
im Projektdebian-cloud
immer auf das neueste Debian 10-Image, aber das neueste Debian 10-Image in Zoneus-central1-a
undsouthamerica-east1-b
könnte abweichen.Wenn Sie VMs aus Image-Familien mit der Google Cloud CLI erstellen, verwendet Compute Engine für Ihre Anfrage das neueste Image, das in der Zone Ihrer VM verfügbar ist. Wenn Sie VMs mit der Google Cloud Console erstellen, zeigt Compute Engine nur die in Ihrer ausgewählten Zone verfügbaren öffentlichen Images an. Wenn Sie VMs mit dem neuesten global verfügbaren Image erstellen möchten, verwenden Sie den Befehl
instances create
der gcloud CLI und geben Sie--image-family-scope=global
an.Neueste verfügbare Image-Version anzeigen lassen
Sie können das neueste global verfügbare Image in einer Image-Familie oder das neueste Image anzeigen lassen, das in einer bestimmten Zone verfügbar ist.
Global
Mit einer der folgenden Methoden können Sie sich das neueste verfügbare Image in einer Image-Familie anzeigen lassen:
gcloud
Führen Sie den Befehl
gcloud compute images describe-from-family
aus:gcloud compute images describe-from-family IMAGE_FAMILY_NAME \ --project=IMAGE_PROJECT
Dabei gilt:
REST
Stellen Sie eine
GET
-Anfrage an die Methodeimages.getFromFamily
:GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY_NAME
Dabei gilt:
Pro Zone
Mit einer der folgenden Methoden können Sie sich das neueste verfügbare Image in einer Image-Familie für eine bestimmte Zone anzeigen lassen:
gcloud
Führen Sie den Befehl
gcloud compute images describe-from-family
mit dem Flag--zone
aus:gcloud compute images describe-from-family IMAGE_FAMILY_NAME \ --project=IMAGE_PROJECT \ --zone=ZONE
Dabei gilt:
REST
Stellen Sie eine
GET
-Anfrage an die MethodeimageFamilyViews
:GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/zones/ZONE/imageFamilyViews/IMAGE_FAMILY_NAME
Dabei gilt:
Familien von benutzerdefinierten Images
Sie können benutzerdefinierte Image-Familien für Ihre benutzerdefinierten Images erstellen. Die Image-Familie verweist auf das neueste Image, mit dem Sie die Image-Familie erstellt haben. Wenn Sie eine Image-Familie auf eine frühere Image-Version zurücksetzen möchten, können Sie das neueste Image in dieser Familie verwerfen (solange das vorherige Image nicht verworfen wurde). Weitere Informationen finden Sie unter Image-Versionen in einer Image-Familie festlegen.
Wenn Sie ein Image mit einer Image-Familie oder (wenn keine vorhanden ist) die eigentliche Image-Familie erstellen möchten, müssen Sie dem Image-Erstellungsschritt ein zusätzliches Flag
--family
hinzufügen. Beispiel:gcloud compute images create my-application-v3-20210101 \ --source-disk my-application-disk-1 \ --source-disk-zone us-central1-f \ --family my-application
Nachdem Sie diesen Befehl ausgeführt haben, verweisen alle Aufrufe zum Ausführen einer auf dem Image
my-application
beruhenden Instanz auf das neu erstellte Imagemy-application-v3-20210101
.Beachten Sie bei der Auswahl eines Namens für Ihre Image-Familie die Namenskonventionen.
Image-Familien verwenden
Sie können mit Image-Familien zwar auf das neueste Image verweisen, das neueste Image kann aber eine Inkompatibilität mit Ihrer Anwendung verursachen. Das wiederum führt zu Problemen in der Produktionsumgebung, wenn das Image nicht geprüft wird. Wenn Sie die Vorteile von Image-Familien nutzen und gleichzeitig die Risiken reduzieren möchten, sollten Sie das letzte referenzierte Image aus der Image-Familie testen, bevor Sie es in Ihrer Produktionsumgebung verwenden.
Gehen Sie dazu so vor:
Der Prozess könnte beispielsweise so aussehen:
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-12-22 (UTC).
-