Auf dieser Seite wird das Erstellen und Verwalten von Instanzvorlagen beschrieben. Mit Instanzvorlagen können Sie den Maschinentyp, das Bootlaufwerk-Image, das Netzwerk und andere VM-Attribute angeben, die Sie beim Erstellen von VM-Instanzen verwenden möchten.
Sie können mit Instanzvorlagen sowohl VMs in einer verwalteten Instanzgruppe als auch einzelne VMs erstellen.
Hinweis
- Wenn Sie die Befehlszeilenbeispiele in dieser Anleitung verwenden möchten, gehen Sie so vor:
- Installieren Sie die Google Cloud CLI oder aktualisieren Sie sie auf die neueste Version.
- Legen Sie eine Standardregion und -zone fest.
- Wenn Sie die API-Beispiele in dieser Anleitung verwenden möchten, richten Sie den API-Zugang ein.
- Lesen Sie, wann und warum Sie deterministische Instanzvorlagen erstellen müssen.
Beschränkungen
- Eine freigegebene VPC auf anderen Schnittstellen als
nic0
für Instanzvorlagen wird in der gcloud CLI und der API unterstützt, jedoch nicht in der Cloud Console. - Eine existierende Instanzvorlage kann nicht aktualisiert oder verändert werden, nachdem sie erstellt wurde. Wenn eine Instanzvorlage nicht mehr aktuell ist oder Sie Änderungen an der Konfiguration vornehmen müssen, erstellen Sie eine neue Instanzvorlage.
Neue Instanzvorlage erstellen
Die meisten VM-Attribute, die Sie in einer Anfrage zum Erstellen einer einzelnen VM-Instanz angeben können, lassen sich auch für eine Instanzvorlage angeben, z. B. beliebige Instanzmetadaten, Startskripts, nichtflüchtiger Speicher, Dienstkonten und so weiter. Sie müssen den Maschinentyp, das Bootlaufwerk und das Netzwerk angeben.
Erstellen Sie eine Instanzvorlage über dieGoogle Cloud Console, die Google Cloud CLI, die API, Terraform oder die Cloud-Clientbibliotheken.
Console
Rufen Sie in der Google Cloud Console die Seite Instanzvorlagen auf.
Zu den Instanzvorlagen
Die verbleibenden Schritte werden automatisch in der Google Cloud Console angezeigt.- Klicken Sie auf
Instanzvorlage erstellen . Übernehmen Sie für die folgenden Felder die Standardwerte oder ändern Sie sie je nach Bedarf. Die Standardwerte ändern sich je nach ausgewählter Maschinenfamilie.
- Wählen Sie einen
Maschinentyp aus. - Klicken Sie im Abschnitt
Bootlaufwerk auf Ändern, um den Bootlaufwerkstyp oder das Bootlaufwerk-Image zu aktualisieren. - Klicken Sie zum Aktualisieren der Netzwerkschnittstellen- oder IP-Adresseinstellungen auf
Erweiterte Optionen , dann auf Netzwerk und dann auf die Netzwerkschnittstelle, die Sie bearbeiten möchten.
- Wählen Sie einen
Optional: Wenn Sie ein Image ausgewählt haben, das Shielded VM unterstützt, ändern Sie die Einstellungen der VM für Shielded VM:
- Klicken Sie auf Verwaltung, Sicherheit, Laufwerke, Netzwerke, einzelne Mandanten und anschließend auf den Tab Sicherheit.
- Wenn Sie Secure Boot deaktivieren möchten, entfernen Sie das Häkchen bei Secure Boot aktivieren. Mit Secure Boot können Sie Ihre VM-Instanzen besser vor Malware und Rootkits auf Boot- und Kernelebene schützen. Weitere Informationen finden Sie unter Secure Boot.
Wenn Sie das Virtual Trusted Platform Module (vTPM) deaktivieren möchten, entfernen Sie das Häkchen bei vTPM aktivieren. Durch das vTPM wird Measured Boot aktiviert, das die Integrität der VM vor und während des Startens überprüft. Weitere Informationen finden Sie unter Virtual Trusted Platform Module (vTPM).
Wenn Sie die Integritätsüberwachung deaktivieren möchten, entfernen Sie das Häkchen bei Integritätsüberwachung aktivieren. Mit der Integritätsüberwachung können Sie die Integrität beim Starten Ihrer Shielded VM-Instanzen mithilfe von Cloud Monitoring überwachen. Weitere Informationen finden Sie unter Integritätsüberwachung.
Optional: Klicken Sie unter Verwaltung, Sicherheit, Laufwerke, Netzwerke, einzelne Mandanten auf die Tabs, um Ihre Vorlage weiter anzupassen. Dort können Sie z. B. bis zu 15 sekundäre Nicht-Bootlaufwerke hinzufügen.
Optional: Klicken Sie auf Entsprechende REST-Anfrage, um den REST-Anfragetext aufzurufen, der die JSON-Darstellung Ihrer Instanzvorlage enthält.
Klicken Sie auf Erstellen, um die Vorlage anzulegen.
gcloud
Erstellen Sie mit dem Befehl instance-templates create
eine Instanzvorlage in gcloud compute
.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME
Ersetzen Sie dabei INSTANCE_TEMPLATE_NAME
durch einen Namen für die Instanzvorlage.
Wenn Sie die Vorlageneinstellungen nicht explizit angeben, verwendet gcloud compute
die folgenden Standardwerte:
- Maschinentyp: der Maschinentyp, z. B.
n1-standard-1
. - Image: Das neueste Debian-Image
- Bootlaufwerk: Ein neues Standardbootlaufwerk mit dem gleichen Namen wie die VM
- Netzwerk: Das Standard-VPC-Netzwerk
- IP-Adresse: Eine sitzungsspezifische externe IP-Adresse
Sie können diese Konfigurationseinstellungen auch explizit festlegen. Beispiel:
gcloud compute instance-templates create example-template-custom \ --machine-type=e2-standard-4 \ --image-family=debian-10 \ --image-project=debian-cloud \ --boot-disk-size=250GB
Sie können bis zu 15 sekundäre Nicht-Bootlaufwerke hinzufügen. Geben Sie das Flag --create-disk
für jedes erstellte sekundäre Laufwerk an. Wenn Sie sekundäre Laufwerke aus einem öffentlichen oder einem vorhandenen Image erstellen möchten, geben Sie im Flag --create-disk
die Attribute image
und image-project
an. Für die Erstellung eines leeren Laufwerks geben Sie diese Attribute nicht an. Fügen Sie optional Attribute für das Laufwerk size
und type
hinzu.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --create-disk= \ {--image=DISK_IMAGE | --image-family=DISK_IMAGE_FAMILY}, \ image-project=DISK_IMAGE_PROJECT, \ size=SIZE_GB
Dabei gilt:
INSTANCE_TEMPLATE_NAME
: Der Name der neuen Vorlage.- Für
DISK_IMAGE
oderDISK_IMAGE_FAMILY
muss eine der folgenden Optionen angegeben werden:DISK_IMAGE
: Der Name des Images, das Sie als Nicht-Bootlaufwerk verwenden möchten.DISK_IMAGE_FAMILY
ist eine Image-Familie, die als Nicht-Bootlaufwerk verwendet werden soll.Weitere Informationen zu Image-Familien finden Sie unter Best Practices für die Verwendung von Image-Familien in Compute Engine.
DISK_IMAGE_PROJECT
: Das Image-Projekt, das das Image enthältBei leeren Laufwerken geben Sie nicht Attribut
image-project
nicht an. Weitere Informationen zu öffentlichen Images finden Sie unter Öffentliche Images.SIZE_GB
: Die Größe des sekundären Laufwerks.
Bei leeren Laufwerken geben Sie nicht Attribut image
nicht an.
Wenn Sie ein Image ausgewählt haben, das Shielded VM unterstützt, können Sie optional die Shielded VM-Einstellungen der Instanz mit einem der folgenden Flags ändern:
--no-shielded-secure-boot
: Secure Boot deaktivierenMit Secure Boot können Sie Ihre VM-Instanzen vor Malware und Rootkits auf Boot- und Kernelebene schützen. Weitere Informationen finden Sie unter Secure Boot.
--no-shielded-vtpm
: Deaktiviert das Virtual Trusted Platform Module (vTPM)Durch das vTPM wird Measured Boot aktiviert, das die Integrität der VM vor und während des Startens überprüft. Weitere Informationen finden Sie unter Virtual Trusted Platform Module (vTPM).
--no-shielded-integrity-monitoring
: Deaktiviert die IntegritätsüberwachungMit dem Integritätsmonitoring können Sie die Integrität beim Booten Ihrer Shielded VM-Instanzen mithilfe von Cloud Monitoring beobachten. Weitere Informationen finden Sie unter Integritätsüberwachung.
Eine Liste aller verfügbaren Unterbefehle und Flags finden Sie in der Referenz zu instance-templates
.
Eine Vorlage mit den Einstellungen für die Standardkonfiguration könnte so aussehen:
gcloud compute instance-templates describe example-template
creationTimestamp: '2019-09-10T16:18:32.042-07:00' description: '' id: '6057583701980539406' kind: compute#instanceTemplate name: example-template properties: canIpForward: false disks: - autoDelete: true boot: true initializeParams: sourceImage: https://compute.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-10 kind: compute#attachedDisk mode: READ_WRITE type: PERSISTENT machineType: e2-standard-2 networkInterfaces: - accessConfigs: - kind: compute#accessConfig name: external-nat type: ONE_TO_ONE_NAT network: https://compute.googleapis.com/compute/v1/projects/myproject/global/networks/default scheduling: automaticRestart: true onHostMaintenance: MIGRATE serviceAccounts: - email: default scopes: - https://www.googleapis.com/auth/devstorage.read_only selfLink: https://compute.googleapis.com/compute/v1/projects/myproject/global/instanceTemplates/example-template
API
Senden Sie zum Erstellen einer Instanzvorlage eine POST
-Anfrage an die Methode instanceTemplates.insert
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates
Ersetzen Sie PROJECT_ID durch die Projekt-ID.
Geben Sie im Anfragetext die Vorlagenattribute an:
{ "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ] } }
Dabei gilt:
- INSTANCE_TEMPLATE_NAME: der Name der Instanzvorlage
- ZONE: Die Zone, in der sich die VMs befinden
MACHINE_TYPE: der Maschinentyp der VMs
-
IMAGE_PROJECT
: das Image-Projekt, das das Image enthältWeitere Informationen zu öffentlichen Images finden Sie unter Öffentliche Images.
-
Für
IMAGE
oderIMAGE_FAMILY
muss eine der folgenden Optionen angegeben werden:-
IMAGE
: Eine bestimmte Version des ImagesBeispiel:
"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
-
IMAGE_FAMILY
ist eine Image-Familie.Dadurch wird die VM aus dem neuesten nicht verworfenen Betriebssystem-Image erstellt. Wenn Sie beispielsweise
"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
angeben, legt Compute Engine eine VM aus der neuesten Version des Betriebssystem-Images in der Debian 10-Image-Familie an.Weitere Informationen zu Image-Familien finden Sie unter Best Practices für die Verwendung von Image-Familien in Compute Engine.
-
Sie können eine der folgenden Optionen für das Attribut disks
angeben:
Geben Sie
initializeParams
an, um nichtflüchtige Bootlaufwerke für jede Instanz zu erstellen. Sie können bis zu 15 sekundäre Nicht-Bootlaufwerke hinzufügen. Geben Sie dazu für jedes zusätzliche Laufwerk das AttributinitializeParams
an. Sie können Laufwerke mithilfe von öffentlichen oder benutzerdefinierten Images (oder Image-Familien) imsourceImage
erstellen, wie im vorherigen Beispiel gezeigt. Wenn Sie leere Laufwerke hinzufügen möchten, geben Sie keinsourceImage
an.Geben Sie
source
an, um ein vorhandenes nichtflüchtiges Bootlaufwerk anzuhängen. Wenn Sie ein vorhandenes Bootlaufwerk anhängen, können Sie aus Ihrer Vorlage nur eine Instanz erstellen.
Optional können Sie die Attribute diskSizeGb
, diskType
undlabels
für initializeParams
und das Attribut diskSizeGb
für source
angeben.
Wenn Sie ein Image ausgewählt haben, das Shielded VM unterstützt, können Sie optional die Shielded VM-Einstellungen der VM mit den folgenden booleschen Anfragetextelementen ändern:
enableSecureBoot
: aktiviert oder deaktiviert Secure BootMit Secure Boot können Sie Ihre VM-Instanzen vor Malware und Rootkits auf Boot- und Kernelebene schützen. Weitere Informationen finden Sie unter Secure Boot.
enableVtpm
: Aktiviert oder deaktiviert das Virtual Trusted Platform Module (vTPM)Durch das vTPM wird Measured Boot aktiviert, das die Integrität der VM vor und während des Startens überprüft. Weitere Informationen finden Sie unter Virtual Trusted Platform Module (vTPM).
Beim Deaktivieren des vTPM wird auch die Integritätsüberwachung deaktiviert, da dies auf Daten basiert, die von Measured Boot erfasst werden.enableIntegrityMonitoring
: aktiviert oder deaktiviert IntegritätsüberwachungMit dem Integritätsmonitoring können Sie die Integrität beim Booten der Laufzeit Ihrer Shielded VM-Instanzen mithilfe von Cloud Monitoring-Berichten beobachten und prüfen. Weitere Informationen finden Sie unter Integritätsüberwachung.
Weitere Informationen zu Anfrageparametern finden Sie unter der Methode instanceTemplates.insert
.
Terraform
Sie können eine Terraform-Ressource verwenden, um eine Instanzvorlage zu erstellen.
Das folgende Terraform-Beispiel ähnelt dem folgenden gcloud CLI-Befehl:
gcloud compute instance-templates create my-instance-template \ --machine-type=e2-standard-4 \ --image-family=debian-9 \ --image-project=debian-cloud \ --boot-disk-size=250GB
Einfach loslegen (Go)
Java
Node.js
Python
Instanzvorlage auf Basis einer vorhandenen Instanz erstellen
Mit der Compute Engine API oder der gcloud CLI können Sie die Konfiguration einer vorhandenen VM-Instanz als Instanzvorlage speichern. Die Definition der Quelllaufwerke in der Vorlage kann optional überschrieben werden.
Wenn Sie andere Attribute überschreiben müssen, erstellen Sie zuerst eine Instanzvorlage auf der Grundlage einer vorhandenen Instanz und dann eine ähnliche Vorlage mit den gewünschten Überschreibungen.
gcloud
Verwenden Sie den Befehl gcloud compute instance-templates create
mit den Flags --source-instance
und --source-instance-zone
.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --source-instance=SOURCE_INSTANCE \ --source-instance-zone=SOURCE_INSTANCE_ZONE
Fügen Sie ein oder mehrere --configure-disk
-Flags hinzu, um die Definition der Laufwerke der Quellinstanz zu überschreiben:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --source-instance=SOURCE_INSTANCE \ --source-instance-zone=SOURCE_INSTANCE_ZONE \ --configure-disk= \ device-name=SOURCE_DISK, \ instantiate-from=INSTANTIATE_OPTIONS, \ auto-delete=AUTO_DELETE
Dabei gilt:
INSTANCE_TEMPLATE_NAME
der Name der zu erstellenden Vorlage ist.SOURCE_INSTANCE
ist der Name der Instanz, die als Modell für die neue Vorlage verwendet werden soll.SOURCE_INSTANCE_ZONE
ist die Zone, die die Quellinstanz enthält.SOURCE_DISK
der Name eines Laufwerks der Quellinstanz ist, das Sie in der Vorlage überschreiben möchten.INSTANTIATE_OPTIONS
gibt an, ob das Laufwerk mit aufgenommen und welches Image verwendet werden soll. Gültige Werte sind vom Laufwerkstyp abhängig:source-image
odersource-image-family
(nur für Boot- und andere nichtflüchtige Laufwerke mit Lese-/Schreibzugriff gültig). Geben Sie diese Option an, wenn Sie dasselbe Quell-Image oder dieselbe Quell-Image-Familie verwenden möchten, mit der das Laufwerk in der Quell-VM-Instanz erstellt wurde.custom-image
(nur für Boot- und andere nichtflüchtige Laufwerke mit Lese-/Schreibzugriff gültig). Wenn Sie Anwendungen und Einstellungen von den Quell-VMs in Ihrer Instanzvorlage beibehalten möchten, können Sie ein benutzerdefiniertes Image erstellen und dann beim Erstellen der Vorlage angeben. Wenn angegeben, geben Sie den Pfad oder die URL für das benutzerdefinierte Image an, wie im folgenden Beispiel gezeigt. Alternativ können Sie eine Image-Familie auch im folgenden Format angeben:--configure-disk=device-name=DATA_DISK_NAME,instantiate-from=custom-image,
custom-image=projects/PROJECT_ID/global/images/family/IMAGE_FAMILY_NAMEattach-read-only
(nur für schreibgeschützte Laufwerke gültig).blank
(nur für nichtflüchtige Speicher, bei denen es sich nicht um ein Bootlaufwerk handelt, und lokale SSDs gültig). Ist dieser Wert angegeben und dient die Vorlage zum Erstellen einer neuen Instanz, wird das Laufwerk unformatiert erstellt. Sie müssen das Laufwerk in einem Startskript formatieren und bereitstellen, bevor Sie es in einer skalierbaren Konfiguration verwenden können.do-not-include
(nur für nichtflüchtige Speicher, bei denen es sich nicht um ein Bootlaufwerk handelt, und schreibgeschützte Laufwerke gültig).
AUTO_DELETE
gibt an, ob das Laufwerk automatisch gelöscht wird, sobald die Instanz gelöscht wird. Gültige Werte sindfalse
,no
,true
undyes
.
Mit folgendem Befehl wird beispielsweise eine Instanzvorlage auf der Basis von my-source-instance
erstellt, mit der Option, das ursprüngliche Image von data-disk-a
zu verwenden, aber mit true
für automatisches Löschen. Außerdem wird data-disk-b
durch ein benutzerdefiniertes Image ersetzt.
gcloud compute instance-templates create my-instance-template \ --source-instance=my-source-instance \ --configure-disk=device-name=data-disk-a,instantiate-from=source-image, \ auto-delete=true --configure-disk=device-name=data-disk-b,instantiate-from=custom-image, \ custom-image=projects/cps-cloud/global/images/cos-89-16108-403-15
API
Rufen Sie die Methode instanceTemplates.insert
auf und geben Sie das Feld sourceInstance
an. Wenn Sie die Definition der Laufwerke der Quellinstanz überschreiben möchten, fügen Sie ein oder mehrere diskConfigs
-Felder hinzu.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "sourceInstance": "zones/SOURCE_INSTANCE_ZONE/instances/SOURCE_INSTANCE", "sourceInstanceParams": { "diskConfigs": [ { "deviceName": "SOURCE_DISK", "instantiateFrom": "INSTANTIATE_OPTIONS", "autoDelete": false } ] } }
Dabei gilt:
PROJECT_ID
: die Projekt-ID für die Anfrage.INSTANCE_TEMPLATE_NAME
: Der Name der neuen Vorlage.SOURCE_INSTANCE_ZONE
ist die Zone der Quellinstanz.SOURCE_INSTANCE
: der Name der Quellinstanz, die als Modell für diese Instanzvorlage verwendet werden soll.SOURCE_DISK
: der Name eines Laufwerks der Quellinstanz, das Sie in der Vorlage überschreiben möchten.INSTANTIATE_OPTIONS
: gibt an, ob das Laufwerk mit aufgenommen und welches Image verwendet werden soll.Gültige Werte sind vom Laufwerkstyp abhängig:
source-image
odersource-image-family
(nur für Boot- und andere nichtflüchtige Laufwerke mit Lese-/Schreibzugriff gültig).custom-image
(nur für Boot- und andere nichtflüchtige Laufwerke mit Lese-/Schreibzugriff gültig). Wenn Sie Anwendungen und Einstellungen von den Quell-VMs in Ihrer Instanzvorlage beibehalten möchten, können Sie ein benutzerdefiniertes Image erstellen und dann beim Erstellen der Vorlage angeben. Wenn angegeben, geben Sie den Pfad oder die URL für das benutzerdefinierte Image an, wie im folgenden Beispiel gezeigt. Alternativ können Sie eine Image-Familie auch im folgenden Format angeben:--configure-disk=device-name=DATA_DISK_NAME,instantiate-from=custom-image,
custom-image=projects/PROJECT_ID/global/images/family/IMAGE_FAMILY_NAMEattach-read-only
(nur für schreibgeschützte Laufwerke gültig).blank
(nur für nichtflüchtige Speicher, bei denen es sich nicht um ein Bootlaufwerk handelt, und lokale SSDs gültig). Ist dieser Wert angegeben und dient die Vorlage zum Erstellen einer neuen Instanz, wird das Laufwerk unformatiert erstellt. Sie müssen das Laufwerk in einem Startskript formatieren und bereitstellen, bevor Sie es in einer skalierbaren Konfiguration verwenden können.do-not-include
(nur für nichtflüchtige Speicher, bei denen es sich nicht um ein Bootlaufwerk handelt, und schreibgeschützte Laufwerke gültig).
Im folgenden Beispiel wird eine neue Instanzvorlage auf der Basis von my-source-instance
erstellt. In der Instanzvorlage wird das Image für data-disk-a
durch projects/cos-cloud/global/images/cos-89-16108-403-15
ersetzt.
POST https://compute.googleapis.com/compute/v1/projects/my_project/global/instanceTemplates { "name": "my-instance-template", "sourceInstance": "zones/us-central1-a/instances/my-source-instance", "sourceInstanceParams": { "diskConfigs": [ { "deviceName": "data-disk-a", "instantiateFrom": "custom-image", "customImage": "projects/cos-cloud/global/images/cos-89-16108-403-15" } ] } }
Einfach loslegen (Go)
Java
Node.js
Python
Folgende Tabelle zeigt, wie die Optionen zum Überschreiben von Laufwerken in der Vorlage definiert sind.
Laufwerkstyp | Optionen |
---|---|
Bootlaufwerk |
|
Andere nichtflüchtige Speicher mit Lese-/Schreibzugriff |
|
Schreibgeschützte Laufwerke |
|
Lokale SSD(s) |
|
Sie können für jedes Laufwerk auch das Attribut auto-delete
überschreiben und angeben, ob das Laufwerk gelöscht oder nicht gelöscht werden soll, wenn die zugehörige Instanz gelöscht wird.
Wenn keine Optionen zum Überschreiben angegeben sind, entspricht die Laufwerkskonfiguration in der Vorlage standardmäßig der Quellinstanz.
Instanzvorlage auf Basis einer vorhandenen Vorlage erstellen
Sie können eine vorhandene Instanzvorlage nicht aktualisieren. Wenn eine Instanzvorlage jedoch veraltet ist oder Sie Änderungen vornehmen müssen, können Sie über die Konsole eine andere mit ähnlichen Attributen erstellen.
Zur Seite Instanzvorlagen.
Klicken Sie auf die Instanzvorlage, die Sie kopieren und aktualisieren möchten.
Klicken Sie auf Ähnliche erstellen.
Aktualisieren Sie die Konfiguration in der neuen Vorlage.
Klicken Sie auf Erstellen.
Instanzvorlage mit einem Container-Image erstellen
Sie können ein Container-Image in einer Instanzvorlage angeben. Standardmäßig enthält Compute Engine in der Vorlage auch ein Container-Optimized OS-Image mit installiertem Docker. Wenn Sie die Vorlage zum Erstellen einer neuen Instanz verwenden, wird der Container beim Start der Instanz automatisch gestartet.
Console
Rufen Sie die Seite Instanzvorlagen auf.
Klicken Sie auf Instanzvorlage erstellen.
Klicken Sie im Abschnitt Container auf Container bereitstellen.
Geben Sie im Dialogfeld Container konfigurieren das zu verwendende Container-Image an.
- Sie können ein Image aus der Container Registry
oder der Artifact Registry angeben.
Beispiel:
gcr.io/cloud-marketplace/google/nginx1:TAG
, wobei TAG das Tag ist, das für eine bestimmte Version des NGINX-Container-Images definiert ist, das auf dem Google Cloud Marketplace verfügbar ist.us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
wählt ein Beispiel-hello-app
-Image aus, das in Artifact Registry gespeichert ist.
- Wenn Sie ein Container-Image von Docker Hub verwenden, geben Sie immer den vollständigen Docker-Image-Namen an. Geben Sie zum Beispiel den folgenden Image-Namen an, um ein Apache-Container-Image bereitzustellen:
docker.io/httpd:2.4
.
- Sie können ein Image aus der Container Registry
oder der Artifact Registry angeben.
Beispiel:
Klicken Sie optional auf Erweiterte Containeroptionen. Weitere Informationen finden Sie unter Optionen zum Ausführen von Containern konfigurieren.
Klicken Sie auf Erstellen.
gcloud
Führen Sie den Befehl gcloud compute instance-templates create-with-container
aus:
gcloud compute instance-templates create-with-container INSTANCE_TEMPLATE_NAME \ --container-image=CONTAINER_IMAGE
Dabei gilt:
INSTANCE_TEMPLATE_NAME
: Der Name der zu erstellenden Vorlage.CONTAINER_IMAGE
: Der vollständige Name des zu verwendenden Container-Images.
Mit dem folgenden Befehl wird beispielsweise eine neue Instanzvorlage mit dem Namen nginx-vm
erstellt. Eine aus dieser Vorlage erstellte VM-Instanz startet das Container-Image gcr.io/cloud-marketplace/google/nginx1:TAG
und führt es aus, wenn die VM gestartet wird.
gcloud compute instance-templates create-with-container nginx-vm \ --container-image=gcr.io/cloud-marketplace/google/nginx1:TAG
Ersetzen Sie TAG
durch das für eine bestimmte Version des NGINX-Container-Images definierte Tag, das im Google Cloud Marketplace verfügbar ist.
Sie können auch Optionen zum Ausführen des Containers konfigurieren.
Erstellen einer Instanzvorlage, die ein Subnetz spezifiziert
gcloud
Mit dem Flag --subnet
können Sie Instanzen, die aus der Vorlage erstellt wurden, in das Subnetz Ihrer Wahl einfügen. Für das Flag --subnet
ist das Flag --region
erforderlich.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --region=REGION \ --subnet=SUBNET_NAME_OR_URL
Dabei gilt:
INSTANCE_TEMPLATE_NAME
: Der Name der Instanzvorlage.REGION
: Die Region des Subnetzes.SUBNET_NAME_OR_URL
: Entweder der Name des Subnetzes oder seine URL.
Im folgenden Beispiel wird eine Vorlage namens template-qa
erstellt, die nur Instanzen im Subnetz subnet-us-qa
erstellt.
gcloud compute instance-templates create template-qa \
--region=us-central1 \
--subnet=subnet-us-qa
Created [https://compute.googleapis.com/compute/latest/projects/PROJECT_ID/global/instanceTemplates/template-qa].
NAME MACHINE_TYPE PREEMPTIBLE CREATION_TIMESTAMP
template-qa e2-standard-2 2019-12-23T20:34:00.791-07:00
Einfach loslegen (Go)
Java
Node.js
Python
Wenn Sie mit dieser Vorlage eine Instanz für eine MIG (mit oder ohne Autoscaling) erstellen, wird die Instanz automatisch in der angegebenen Region und im angegebenen Subnetz erstellt. Auf diese Weise können Sie das Subnetz von neuen Instanzen kontrollieren, die für das Load-Balancing erstellt wurden.
Verwendung benutzerdefinierter und öffentlicher Images in Ihren Instanzvorlagen
Sie können entweder ein benutzerdefiniertes Image oder ein öffentliches Image für Ihre Instanzvorlagen verwenden:
Benutzerdefinierte Images. Weil MIGs darauf ausgerichtet sind, dass Instanzen oft hinzugefügt und entfernt werden, ist es sinnvoll, ein benutzerdefiniertes Image zu erstellen und dieses in der Instanzvorlage anzugeben. Sie können das Image mit den Anwendungen und Einstellungen vorbereiten, die Ihre VMs benötigen, sodass Sie diese Elemente bei einzelnen VMs der MIG nicht manuell konfigurieren müssen.
Öffentliche Images Sie können eine Instanzvorlage erstellen, die ein öffentliches Image und ein Startskript für die Vorbereitung der Instanz nach dem Start verwendet.
Benutzerdefinierte Images sind deterministischer und starten schneller als VMs mit Startskripts. Auf der anderen Seite sind Startskripts flexibler und ermöglichen Ihnen, die Anwendungen und Einstellungen in Ihren Instanzen leichter zu verändern.
Wenn Sie Images mithilfe von Image-Familien verwalten, können Sie den Namen der benutzerdefinierten oder öffentlichen Image-Familie in der Instanzvorlage angeben. Weitere Informationen zu Image-Familien finden Sie unter Best Practices für die Verwendung von Image-Familien in Compute Engine.
Nächste Schritte
- VM-Instanz aus einer Instanzvorlage erstellen
- Zonale verwaltete Instanzgruppe (MIG) erstellen
- Eine regionale MIG erstellen
- VMs in einer vorhandenen MIG aktualisieren, um die Konfiguration aus einer neuen Vorlage zu verwenden