Gestire i job di applicazione patch

Dopo aver creato un job di patch, puoi utilizzare le seguenti procedure per esaminare e gestire le patch:

Puoi gestire i job di patch utilizzando la console Google Cloud, la Google Cloud CLI o REST.

Prima di iniziare

  • Esamina le quote di OS Config.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    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

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Per saperne di più, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Autorizzazioni

I proprietari di un progetto hanno accesso completo per eseguire e gestire i job di patch. Per tutti gli altri utenti, devi concedere le autorizzazioni. Puoi concedere uno dei seguenti ruoli granulari:

  • roles/osconfig.patchJobExecutor: contiene le autorizzazioni per eseguire, annullare, recuperare e elencare i job di applicazione patch. Contiene anche le autorizzazioni per visualizzare i dettagli dell'istanza per un job di applicazione patch.
  • roles/osconfig.patchJobViewer: contiene le autorizzazioni per l'accesso di sola lettura per recuperare ed elencare i job di patch. Contiene anche le autorizzazioni per visualizzare i dettagli dell'istanza per un job di applicazione patch.

Elenca i job di applicazione patch

Visualizza un elenco di tutti i job attivi e completati.

console

  1. Nella console Google Cloud, vai alla pagina Compute Engine > Gestione VM > Patch.

    Vai alla pagina Patch

  2. Seleziona la scheda Job patch.

gcloud

Utilizza il comando os-config patch-jobs list per elencare i job di applicazione patch.

gcloud compute os-config patch-jobs list

Per Google Cloud CLI, l'output predefinito restituisce i 10 job di patch più recenti, indipendentemente dal fatto che siano completati o attivi. Puoi eseguire l'override di questa impostazione utilizzando il flag --limit.

L'output è simile al seguente:

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

Puoi utilizzare altri flag per filtrare, ordinare e formattare la ricerca. Ad esempio, per filtrare l'output precedente in modo da elencare solo gli URI dei job di patch con stato SUCCEEDED ordinati per data di creazione e in ordine crescente, esegui il seguente comando:

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

L'output è simile al seguente:

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

Per un elenco completo dei flag, consulta il comando os-config patch-jobs list.

REST

Nell'API, crea una richiesta GET al metodo patchJobs.list. Sostituisci project-id con l'ID del tuo progetto.

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

Elenca tutti i dettagli dell'istanza VM per un job di applicazione patch specifico

Controlla lo stato del job di applicazione patch per l'elenco completo delle istanze VM che utilizzano la gestione delle patch del sistema operativo.

console

  1. Nella console Google Cloud, vai alla pagina Compute Engine > Gestione VM > Patch.

    Vai alla pagina Patch

  2. Seleziona la scheda Job patch.
  3. Fai clic sul nome del job di applicazione patch che vuoi esaminare.
  4. Scorri verso il basso fino a Istanze VM aggiornate.

gcloud

Utilizza il comando os-config patch-jobs list-instance-details per elencare i dettagli di tutte le VM in un job di applicazione patch specifico. Sostituisci patch-job-id con l'ID del tuo job di applicazione patch.

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

Ad esempio, per visualizzare i dettagli di tutte le istanze che fanno parte del job di applicazione patch 23b0815e-1c94-4dc6-91b1-30a6da395cb9, esegui il seguente comando:

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

L'output è simile al seguente:

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 ..."

Puoi utilizzare altri flag per filtrare, ordinare e formattare la ricerca. Ad esempio, per elencare i dettagli di tutte le VM non attive ordinate per nome dell'istanza in ordine decrescente, esegui il seguente comando. Sostituisci patch-job-id con l'ID del job di applicazione patch.

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

Per un elenco completo dei flag, consulta il comando os-config patch-jobs list-instance-details.

REST

Nell'API, crea una richiesta GET al metodo patchJobs.instanceDetails.

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

Sostituisci quanto segue:

  • project-id: l'ID del tuo progetto.
  • patch-job-id: l'ID job di applicazione patch.

Descrivi i job di applicazione patch

Esamina le informazioni dettagliate di un job di applicazione patch.

console

  1. Nella console Google Cloud, vai alla pagina Compute Engine > Gestione VM > Patch.

    Vai alla pagina Patch

  2. Seleziona la scheda Job patch.
  3. Fai clic sul nome del job di applicazione patch che vuoi esaminare.
  4. Esamina la sezione Aggiorna informazioni.

gcloud

Utilizza il comando os-config patch-jobs describe per descrivere un job di applicazione patch. Sostituisci patch-job-id con l'ID del job di applicazione patch.

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

Ad esempio, per visualizzare le informazioni sul job di applicazione patch 23b0815e-1c94-4dc6-91b1-30a6da395cb9, esegui il seguente comando:

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

L'output è simile al seguente:

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

Nell'API, crea una richiesta GET al metodo patchJobs.get.

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

Sostituisci quanto segue:

  • project-id: l'ID del tuo progetto.
  • patch-job-id: l'ID job di applicazione patch.

Annullare i job di applicazione patch

Quando annulli un job di applicazione patch, l'agente di configurazione del sistema operativo completa la sottoattività in cui si trova, ma non continua. La sottoattività fa riferimento a un'attività svolta dall'agente che non può essere interrotta.

Ad esempio, se il job di applicazione patch viene annullato durante il riavvio dell'istanza VM, il riavvio (e qualsiasi potenziale applicazione automatica delle patch dopo il riavvio) viene comunque completato, ma l'agente non avvia attività aggiuntive per il job di applicazione patch.

console

  1. Nella console Google Cloud, vai alla pagina Compute Engine > Gestione VM > Patch.

    Vai alla pagina Patch

    1. Seleziona la scheda Job patch.
    2. Espandi il menu Azioni per il job di applicazione patch che vuoi annullare.
    3. Seleziona Annulla.

gcloud

Utilizza il comando os-config patch-jobs cancel per annullare un job di applicazione patch. Sostituisci patch-job-id con l'ID del job di applicazione patch.

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

REST

Nell'API, crea una richiesta POST al metodo patchJobs.cancel.

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

Sostituisci quanto segue:

  • project-id: l'ID del tuo progetto.
  • patch-job-id: l'ID job di applicazione patch.

Passaggi successivi