Patchjobs verwalten


Nachdem Sie einen Patch-Job angelegt haben, können Sie Ihre Patches mit folgenden Verfahren prüfen und verwalten:

Sie können Ihre Patch-Jobs mit der Google Cloud Console, Google Cloud CLI oder REST verwalten.

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 so bei Compute Engine authentifizieren.

    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

    1. Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init
    2. Legen Sie eine Standardregion und -zone fest.

    REST

    Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

      Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init

Berechtigungen

Die Inhaber eines Projekts haben uneingeschränkten Zugriff auf die Ausführung und Verwaltung von Patch-Jobs. Für alle anderen Nutzer müssen Sie Berechtigungen erteilen. Dafür können Sie eine dieser detaillierten Rollen zuweisen:

  • roles/osconfig.patchJobExecutor: Enthält Berechtigungen zum Ausführen, Abbrechen, Abrufen und Auflisten von Patch-Jobs. Enthält auch Berechtigungen zum Anzeigen von Instanzdetails für einen Patch-Job.
  • roles/osconfig.patchJobViewer: Enthält Berechtigungen für den Lesezugriff zum Abrufen und Auflisten von Patch-Jobs. Enthält auch Berechtigungen zum Anzeigen von Instanzdetails für einen Patch-Job.

Patch-Jobs auflisten

So können Sie eine Liste aller aktiven und abgeschlossenen Jobs anzeigen lassen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Compute Engine > VM Manager > Patch auf.

    Zur Seite "Patch"

  2. Wählen Sie den Tab Patch-Jobs aus.

gcloud

Verwenden Sie die den Befehl os-config patch-jobs list, um Patch-Jobs aufzulisten.

gcloud compute os-config patch-jobs list

Bei der Google Cloud CLI gibt die Standardausgabe die zehn neuesten Patch-Jobs zurück, unabhängig davon, ob sie abgeschlossen oder aktiv sind. Sie können diese Einstellung mit dem Flag --limit überschreiben.

Die Ausgabe sollte so aussehen:

ID                                          NAME    DESCRIPTION               CREATE_TIME               UPDATE_TIME               STATE                  TARGETED_INSTANCES
23b0815e-1c94-4dc6-91b1-30a6da395cb9                                          2019-11-05T20:22:54.150Z  2019-11-06T19:40:08.641Z  COMPLETED_WITH_ERRORS  4
4116ad72-bd57-4e48-94dc-7a577dc707b6                                          2019-08-23T20:36:03.068Z  2019-08-23T20:36:15.984Z  CANCELED               2
06856cbe-9a7b-498e-9105-9ae4eb566511                                          2019-08-12T20:27:38.410Z  2019-08-12T20:28:37.583Z  SUCCEEDED              1
04a15964-9eaa-4282-96f5-9cd535352cf6                                          2019-08-12T17:48:22.938Z  2019-08-12T17:48:42.274Z  SUCCEEDED              0
21dc1e06-deee-4e3a-821e-8082a32abde5                testing patch job reboot  2019-07-24T22:45:07.451Z  2019-07-25T00:44:44.459Z  TIMED_OUT              1

Sie können mehr Flags verwenden, um Ihre Suche zu filtern, zu sortieren und zu formatieren. Wenn Sie beispielsweise die obige Ausgabe so filtern möchten, dass nur die URIs für die Patch-Jobs mit dem Status SUCCEEDED nach der Erstellungszeit und in aufsteigender Reihenfolge sortiert werden, führen Sie den folgenden Befehl aus:

gcloud compute os-config patch-jobs list \
   --filter="state=SUCCEEDED" \
   --sort-by="create_time" --uri

Die Ausgabe sollte so aussehen:

https://osconfig.googleapis.com/v1/projects/1234567/patchJobs/04a15964-9eaa-4282-96f5-9cd535352cf6
https://osconfig.googleapis.com/v1/projects/1234567/patchJobs/06856cbe-9a7b-498e-9105-9ae4eb566511

Eine vollständige Liste der Flags erhalten Sie mit dem Befehl os-config patch-jobs list.

REST

Erstellen Sie in der API eine GET-Anfrage an die Methode patchJobs.list. Ersetzen Sie dabei project-id durch Ihre Projekt-ID.

GET https://osconfig.googleapis.com/v1/projects/project-id/patchJobs

Alle VM-Instanzdetails für einen bestimmten Patch-Job auflisten

So können Sie den Status des Patch-Jobs für alle VM-Instanzen auflisten, die OS Patch Management verwenden:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Compute Engine > VM Manager > Patch auf.

    Zur Seite "Patch"

  2. Wählen Sie den Tab Patch-Jobs aus.
  3. Klicken Sie auf den Namen des Patch-Jobs, den Sie überprüfen möchten.
  4. Scrollen Sie nach unten zu Aktualisierte VM-Instanzen.

gcloud

Verwenden Sie den Befehl os-config patch-jobs list-instance-details, um die Details aller VMs in einem bestimmten Patch-Job aufzulisten. Ersetzen Sie dabei patch-job-id durch die ID des Patch-Jobs.

gcloud compute os-config patch-jobs list-instance-details patch-job-id

Wenn Sie beispielsweise die Details für alle Instanzen anzeigen lassen möchten, die zum Patch-Job 23b0815e-1c94-4dc6-91b1-30a6da395cb9 gehören, führen Sie den folgenden Befehl aus:

gcloud compute os-config patch-jobs list-instance-details 23b0815e-1c94-4dc6-91b1-30a6da395cb9

Die Ausgabe sollte so aussehen:

NAME                        ZONE           STATE      FAILURE_REASON
instance-1                  us-central1-a  SUCCEEDED
guest-policy-test-instance  us-east1-c     TIMED_OUT  Instance timed out while in state: APPLYING_PATCHES after PT1H2.225S
my-centos                   us-west1-b     SUCCEEDED
my-windows                  us-west1-b     FAILED     Error running pre-patch step: fork/exec /tmp/pre_patch_script.sh: no such file ..."

Sie können mehr Flags verwenden, um Ihre Suche zu filtern, zu sortieren und zu formatieren. Wenn Sie beispielsweise Details zu allen inaktiven VMs in absteigender Reihenfolge nach Instanznamen auflisten möchten, führen Sie den folgenden Befehl aus. Ersetzen Sie dabei patch-job-id durch die ID des Patch-Jobs.

gcloud compute os-config patch-jobs list-instance-details patch-job-id \
   --filter="state=INACTIVE" \
   --sort-by="~name"

Eine vollständige Liste der Flags erhalten Sie mit dem Befehl os-config patch-jobs list-instance-details.

REST

Erstellen Sie in der API eine GET-Anfrage an die Methode patchJobs.instanceDetails.

GET https://osconfig.googleapis.com/v1/projects/project-id/patchJobs/patch-job-id/instanceDetails

Ersetzen Sie Folgendes:

  • project-id: Ihre Projekt-ID.
  • patch-job-id durch Ihre Patch-Job-ID.

Patch-Jobs beschreiben

So lassen Sie detaillierte Informationen zu einem Patch-Job anzeigen:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Compute Engine > VM Manager > Patch auf.

    Zur Seite "Patch"

  2. Wählen Sie den Tab Patch-Jobs aus.
  3. Klicken Sie auf den Namen des Patch-Jobs, den Sie überprüfen möchten.
  4. Lesen Sie den Abschnitt Update-Informationen.

gcloud

Verwenden Sie den Befehl os-config patch-jobs describe, um einen Patch-Job zu beschreiben. Ersetzen Sie dabei patch-job-id durch die ID des Patch-Jobs.

gcloud compute os-config patch-jobs describe patch-job-id

Wenn Sie beispielsweise Informationen zum Patch-Job 23b0815e-1c94-4dc6-91b1-30a6da395cb9 aufrufen möchten, führen Sie den folgenden Befehl aus:

gcloud compute os-config patch-jobs describe 23b0815e-1c94-4dc6-91b1-30a6da395cb9

Die Ausgabe sollte so aussehen:

createTime: '2019-11-05T20:22:54.150Z'
errorMessage: Completed with 2 instance failure(s).
filter: id=*
instanceDetailsSummary:
  instancesFailed: '1'
  instancesSucceeded: '2'
  instancesTimedOut: '1'
instanceFilter: {}
name: projects/1234567/patchJobs/23b0815e-1c94-4dc6-91b1-30a6da395cb9
patchConfig: {}
percentComplete: 100.0
state: COMPLETED_WITH_ERRORS
updateTime: '2019-11-06T19:40:08.641Z'

REST

Erstellen Sie in der API eine GET-Anfrage an die Methode patchJobs.get.

GET https://osconfig.googleapis.com/v1/projects/project-id/patchJobs/patch-job-id

Ersetzen Sie Folgendes:

  • project-id: Ihre Projekt-ID.
  • patch-job-id durch Ihre Patch-Job-ID.

Patch-Jobs abbrechen

Beim Abbrechen eines Patch-Jobs beendet der OS Config-Agent die Unteraufgabe, die er gerade bearbeitet, setzt den Job danach aber nicht mehr fort. Mit Unteraufgaben sind Aufgaben gemeint, die ein Agent ausführt und die nicht einfach angehalten werden können.

Wenn etwa der Patch-Job abgebrochen wird, während die VM-Instanz neu startet, wird der Neustart (und ggf. automatische Patches nach dem Neustart) noch abgeschlossen. Der Agent initiiert dann aber keine zusätzlichen Aufgaben bei diesem Patch-Job mehr.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Compute Engine > VM Manager > Patch auf.

    Zur Seite "Patch"

    1. Wählen Sie den Tab Patch-Jobs aus.
    2. Maximieren Sie das Menü Aktionen für den Patch-Job, den Sie abbrechen möchten.
    3. Wählen Sie Abbrechen aus.

gcloud

Verwenden Sie den Befehl os-config patch-jobs cancel, um einen Patch-Job abzubrechen. Ersetzen Sie dabei patch-job-id durch die ID des Patch-Jobs.

gcloud compute os-config patch-jobs cancel patch-job-id

REST

Erstellen Sie in der API eine POST-Anfrage an die Methode patchJobs.cancel.

POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs/patch-job-id:cancel

Ersetzen Sie Folgendes:

  • project-id: Ihre Projekt-ID.
  • patch-job-id durch Ihre Patch-Job-ID.

Nächste Schritte