Gestisci job di applicazione patch


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

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

Prima di iniziare

  • Esamina le quote di configurazione del sistema operativo.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.

    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 ulteriori informazioni, 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 applicazione 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 ed 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 applicazione patch. Contiene anche le autorizzazioni per visualizzare i dettagli dell'istanza per un job di applicazione patch.

Elenco dei 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 > VM Manager > 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 applicazione 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 più flag per filtrare, ordinare e formattare la ricerca. Ad esempio, per filtrare l'output riportato sopra in modo da elencare solo gli URI dei job di applicazione patch con stato SUCCEEDED ordinati per ora di creazione e in ordine crescente, esegui questo 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 per il metodo patchJobs.list. Sostituisci project-id con l'ID progetto.

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

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

Esamina lo stato del job di applicazione patch per l'elenco completo delle istanze VM che utilizzano OS Pach Management.

console

  1. Nella console Google Cloud, vai alla pagina Compute Engine > VM Manager > 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 uno specifico job di applicazione patch. 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 questo 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 più flag per filtrare, ordinare e formattare la ricerca. Ad esempio, per elencare i dettagli di tutte le VM non attive ordinate per nome istanza in ordine decrescente, esegui questo 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 per il 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 del tuo job di applicazione patch.

Descrivi i job di applicazione patch

Rivedi le informazioni dettagliate per un job di applicazione patch.

console

  1. Nella console Google Cloud, vai alla pagina Compute Engine > VM Manager > 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 Informazioni sull'aggiornamento.

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 questo 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 per il 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 del tuo job di applicazione patch.

Annulla job di applicazione patch

Quando annulli un job di applicazione patch, l'agente OS Config termina l'attività secondaria a cui è attivo, ma non continua più tardi. Un'attività secondaria è un'attività eseguita dall'agente che non può essere facilmente arrestata.

Ad esempio, se il job di applicazione patch viene annullato durante il riavvio dell'istanza VM, il riavvio (e qualsiasi potenziale applicazione di patch automatica post-riavvio) continua a essere eseguito fino al completamento, ma l'agente non avvia attività aggiuntive per quel job di applicazione patch.

console

  1. Nella console Google Cloud, vai alla pagina Compute Engine > VM Manager > 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 per il 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 del tuo job di applicazione patch.

Che cosa succede dopo?