Neben der Ausführung von Patch-Jobs nach Bedarf möchten Sie vielleicht, dass Patch-Jobs nach einem festgelegten Zeitplan automatisch ausgeführt werden. Dafür erstellen Sie ein Patch-Deployment.
Jedes Patch-Deployment kann entweder zu einem einmaligen Termin ausgeführt werden, d. h. zu einem bestimmten Datum und einer bestimmten Uhrzeit, oder Sie können einen Zeitplan mit wiederkehrenden Terminen erstellen, bei dem ein Patch-Job in einem bestimmten Intervall ausgeführt wird.
Mit Instanzfiltern können Sie mehrere Instanzen gleichzeitig aktualisieren. Diese Filter werden auf jeden einzelnen Patch-Job angewendet, wenn er ausgeführt wird. Dadurch wird sichergestellt, dass Änderungen in Ihrem Projekt in Echtzeit erfasst werden.
Beispiel: Sie erstellen ein Patch-Deployment, um in zwei Wochen Patches auf alle Instanzen in der Zone asia-souteast1-b
anzuwenden. Beim Erstellen des Patches befanden sich 20 Instanzen in der Zone. Einige Tage später werden der Zone jedoch 40 neue Instanzen hinzugefügt. Da der Filter beim Start des Patch-Jobs, also zwei Wochen später, angewendet wird, werden alle 60 Instanzen aktualisiert. Auf diese Weise können Sie Instanzen hinzufügen und entfernen, ohne den Zeitplan für das Patch-Deployment aktualisieren zu müssen.
Hinweise
- Prüfen Sie die OS Config-Kontingente.
-
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.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
roles/osconfig.patchDeploymentAdmin
: Umfasst Berechtigungen zum Erstellen, Löschen, Abrufen und Auflisten von Patch-Deployments.roles/osconfig.patchDeploymentViewer
: Umfasst Berechtigungen für den Lesezugriff zum Abrufen und Auflisten von Patch-Deployments.project-id
: die Projekt-IDuser-id
: der Google Workspace-Nutzername des Nutzers- Jeder Name darf innerhalb eines Projekts nur einmal vorkommen.
- Ein Name darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten.
- Er muss mit einem Buchstaben beginnen.
- Ein Name muss mit einer Ziffer oder einem Buchstaben enden.
- Namen können zwischen 1 und 63 Zeichen lang sein.
- Rufen Sie in der Google Cloud Console die Seite Compute Engine > VM Manager > Patch auf.
- Klicken Sie auf Neues Patch-Deployment.
Wählen Sie im Bereich Ziel-VMs die Zone mit den VMs aus, die Sie patchen möchten. Sie können auch alle Zonen auswählen.
Wenn Sie beispielsweise bestimmte VMs in den ausgewählten Zonen patchen möchten, geben Sie die Namens- und Labelfilter ähnlich den folgenden ein:
- Namenspräfix:
test-
- Labels:
env=dev
undapp=web
- Namenspräfix:
Konfigurieren Sie den Patch im Abschnitt Patchkonfiguration.
- Geben Sie einen Namen für den Patch an.
- Wählen Sie die erforderlichen Updates für das Betriebssystem aus. Weitere Informationen finden Sie unter Was ist in einem OS-Patchjob enthalten.
Führen Sie im Bereich Planung folgende Schritte aus:
- Wählen Sie einen Zeitplan aus. Sie können einen einmaligen Patch-Job oder wiederholte Patch-Jobs planen.
- Optional: Legen Sie eine Dauer oder ein Wartungsfenster fest.
Konfigurieren Sie im Abschnitt Rollout-Optionen die Patch-Rollout-Optionen:
- Wählen Sie aus, ob eine Zone nach der anderen oder Zonen gleichzeitig gepatcht werden sollen.
- Legen Sie ein Unterbrechungsbudget fest. Ein Unterbrechungsbudget ist die Anzahl oder der Prozentsatz von VMs in einer Zone, die gleichzeitig durch den Patch-Prozess unterbrochen werden sollen.
Optional: Im Abschnitt Erweiterte Optionen können Sie die folgenden Aufgaben ausführen:
- Eine Neustartoption auswählen.
- Pre- und Post-Patch-Skripts hochladen. Weitere Informationen zu Pre- und Post-Patch-Skripts finden Sie unter Pre- und Post-Patch-Skripts festlegen.
Klicken Sie auf Bereitstellen.
patch-deployment-id
durch den Namen des Patch-Deployments.patch-deployment-file
durch den Pfad zur YAML- oder JSON-Datei, die die Konfigurationen für das Patch-Deployment enthält.- Start ist der 9. Januar 2019 um 19:30 Uhr.
- Ende ist der 9. Januar 2020 um 19:30 Uhr.
- Die Zeitzone ist "America/Los_Angeles".
- Er wird jede Woche am Dienstag ausgeführt.
project-id
: Ihre Projekt-ID.instance-filter
sind die gewünschten Filterparameter. Weitere Informationen zu Instanzfiltern finden Sie unter Instanzfilter.schedule
durch entweder den ParameteroneTimeSchedule
oder den ParameterrecurringSchedule
, die jeweils Planungseinstellungen wie Datum, Uhrzeit und Häufigkeit der Ausführung des Patch-Jobs festlegen.- Start ist der 9. Januar 2019 um 19:30 Uhr.
- Ende ist der 9. Januar 2020 um 19:30 Uhr.
- Die Zeitzone ist "America/Los_Angeles".
- Er wird jede Woche am Dienstag ausgeführt.
- Rufen Sie in der Google Cloud Console die Seite Compute Engine > VM Manager > Patch auf.
- Wählen Sie den Tab Geplante Deployments aus.
- Rufen Sie in der Google Cloud Console die Seite Compute Engine > VM Manager > Patch auf.
- Wählen Sie den Tab Geplante Deployments aus.
- Klicken Sie auf den Namen des Deployments, das Sie überprüfen möchten.
project-id
durch Ihre Projekt-ID.patch-deployment-id
durch den Namen des Patch-Deployments.- Rufen Sie in der Google Cloud Console die Seite Compute Engine > VM Manager > Patch auf.
- Wählen Sie den Tab Geplante Deployments aus.
- Klicken Sie auf den Namen des Deployments, das Sie löschen möchten.
- Klicken Sie auf Diesen Zeitplan löschen.
project-id
durch Ihre Projekt-ID.patch-deployment-id
durch den Namen des Patch-Deployments.
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.
Sie können Ihre Patch-Jobs mit der Google Cloud Console, Google Cloud CLI oder REST planen.
Berechtigungen
Inhaber eines Projekts haben uneingeschränkten Zugriff, um Patch-Deployments zu erstellen und zu verwalten. Für alle anderen Nutzer müssen Sie Berechtigungen erteilen. Dafür können Sie eine dieser detaillierten Rollen zuweisen:
Wenn Sie beispielsweise einem Nutzer Administratorzugriff auf Patch-Deployments gewähren möchten, führen Sie den folgenden Befehl aus:
gcloud projects add-iam-policy-binding project-id \ --member user:user-id@gmail.com \ --role roles/osconfig.patchDeploymentAdmin
Ersetzen Sie Folgendes:
Patch-Deployment erstellen
Beim Erstellen eines Patch-Deployments muss dessen Name die folgenden Anforderungen erfüllen:
In der Google Cloud CLI und REST wird der Name des Patch-Deployments als
patch-deployment-id
bezeichnet.Nachdem Sie ein Patch-Deployment gestartet haben, können Sie Ihre Patches über das Patch-Dashboard überwachen. Wenn ein Patch-Job gestartet wurde, dauert es etwa 30 Minuten, bis die Daten im Dashboard erscheinen.
Console
gcloud
Verwenden Sie den Befehl
os-config patch-deployments create
, um ein Patch-Deployment zu erstellen.gcloud compute os-config patch-deployments create patch-deployment-id \ --file patch-deployment-file
Ersetzen Sie Folgendes:
Beispiel einer YAML-Datei für das Patch-Deployment
Mit der folgenden Beispiel-YAML-Datei können Sie einen wiederkehrenden Zeitplan für alle Instanzen in den Zonen
us-west2-b
undus-west2-c
erstellen. Der wiederkehrende Zeitplan hat die folgenden Spezifikationen:instanceFilter: zones: - us-west2-b - us-west2-c recurringSchedule: frequency: WEEKLY weekly: dayOfWeek: TUESDAY timeOfDay: hours: 19 minutes: 30 timeZone: id: America/Los_Angeles startTime: '2019-09-01T12:00:00Z' endTime: '2020-09-01T12:00:00Z'
REST
Erstellen Sie in der API eine
POST
-Anfrage, um ein neues Patch-Deployment zu erstellen. Sie müssen alle erforderlichen Konfigurationsfelder, wie in der API-DokumentationpatchDeployments.create
beschrieben, explizit definieren. Ein Patch-Deployment mit den mindestens erforderlichen Feldern (Instanzfilter und Zeitplan) sieht beispielsweise so aus. Ersetzen Sie dabeiproject-id
durch Ihre Projekt-ID.POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter": instance-filter // Add one of the following parameters: "recurringSchedule": schedule "oneTimeSchedule": schedule }
Ersetzen Sie Folgendes:
Beispiele
Beispiel 1: Zeitplan für die einmalige Ausführung eines Patch-Jobs am 10. Januar 2020 um 00:00 Uhr UTC auf allen Instanzen in den Zonen
us-west2-b
undus-west2-c
.{ "instanceFilter":{ "zones":[ "us-west2-b", "us-west2-c" ] }, "oneTimeSchedule": { "executeTime": "2020-01-10T00:00:00Z" } }
Beispiel 2: Wiederkehrender Zeitplan für alle Instanzen in den Zonen
us-west2-b
undus-west2-c
. Der wiederkehrende Zeitplan hat die folgenden Spezifikationen:POST https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments { "instanceFilter":{ "zones":[ "us-west2-b", "us-west2-c" ] }, "recurringSchedule":{ "frequency":"WEEKLY", "weekly":{ "dayOfWeek":"TUESDAY" }, "timeOfDay":{ "hours":19, "minutes":30 }, "timeZone":{ "id":"America/Los_Angeles" }, "startTime":"2019-09-01T12:00:00Z", "endTime":"2020-09-01T12:00:00Z" } }
Patch-Deployments auflisten
Console
gcloud
Verwenden Sie den Befehl
os-config patch-deployments list
, um Patch-Deployments aufzulisten.gcloud compute os-config patch-deployments list
Dieser Befehl gibt alle Patch-Deployments zurück. Die Ausgabe sollte in etwa so aussehen:
NAME LAST_RUN NEXT_RUN FREQUENCY first-deployment 2019-12-18T00:07:00.738Z --- Once: Scheduled for 2019-12-18T00:07:00.000Z my-deployment1 2020-01-05T14:00:00.228Z 2020-01-12T14:00:00Z Recurring - Weekly my-deployment2 --- 2020-01-15T05:30:00Z Recurring - Monthly on specific date(s)
Sie können mehr Flags verwenden, um Ihre Suche einzuschränken und die Ergebnisse zu formatieren. Wenn Sie beispielsweise die ersten 10 Patch-Deployments auflisten möchten, jeweils 2 pro Seite, führen Sie den folgenden Befehl aus. Ersetzen Sie
project-id
durch Ihre Projekt-ID.gcloud compute os-config patch-deployments list --limit 10 --page-size 2
REST
Erstellen Sie in der API eine
GET
-Anfrage an die MethodepatchDeployments.list
. Ersetzen Sie dabeiproject-id
durch Ihre Projekt-ID.GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments
Patch-Deployment beschreiben
Console
gcloud
Verwenden Sie den Befehl
os-config patch-deployments describe
, um ein Patch-Deployment zu beschreiben. Ersetzen Sie dabeipatch-deployment-id
durch den Namen des Patch-Deployments.gcloud compute os-config patch-deployments describe patch-deployment-id
REST
Erstellen Sie in der API eine
GET
-Anfrage an die MethodepatchDeployments.get
.GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id
Ersetzen Sie Folgendes:
Patch-Deployment löschen
Console
gcloud
Verwenden Sie den Befehl
os-config patch-deployments delete
, um ein Patch-Deployment zu löschen. Ersetzen Sie dabeipatch-deployment-id
durch den Namen des Patch-Deployments.gcloud compute os-config patch-deployments delete patch-deployment-id
REST
Erstellen Sie in der API eine
DELETE
-Anfrage an die MethodepatchDeployments.delete
.DELETE https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id
Ersetzen Sie Folgendes:
Nächste Schritte
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-03 (UTC).
-