Crea job di applicazione patch

Puoi usare Patch per applicare patch del sistema operativo a un gruppo di macchine virtuali (VM) di Compute Engine.

Per applicare patch alle tue VM, completa i seguenti passaggi:

  1. Configura la tua VM.
  2. Esegui un job di applicazione patch.

Prima di iniziare

  • Esamina le quote di OS Config.
  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è Il processo di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione Compute Engine come segue.

    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, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Limitazioni

  • Puoi eseguire il deployment e l'esecuzione di job di applicazione patch solo per le VM in un singolo progetto Google Cloud. Non puoi eseguire job di applicazione patch tra progetti Google Cloud, se le VM si trovano in un VPC condiviso. Tuttavia, puoi visualizzare la conformità delle patch tra progetti.
  • Quando applichi patch a VM che fanno parte di un sistema gestito, si applicano le seguenti limitazioni gruppo di istanze (MIG):
    • Quando un MIG ripara una VM, ricrea la VM in base al modello di istanza. Questa operazione potrebbe annullare della VM in stato senza patch.
    • L'applicazione di patch alle VM può causare risultati imprevisti in un gruppo di istanze gestite con scalabilità automatica in un bucket con il controllo delle versioni attivo. Il gestore della scalabilità automatica elimina le VM con patch quando il carico si riduce e crea nuove VM, senza patch, utilizzando il modello di istanza del gruppo di istanze gestite quando il carico aumenta. Ad esempio, se l'utilizzo medio della CPU è inferiore al target specificato per la scalabilità automatica, il gruppo di istanze gestite può rimuovere alcuni VM durante lo scale in.

Sistemi operativi supportati

Per l'elenco completo dei sistemi operativi e delle versioni che supportano Applicazione patch: consulta Dettagli del sistema operativo.

Configura la VM

Per utilizzare la funzionalità Patch, completa i seguenti passaggi:

  1. Per tutte le VM, configura VM Manager.
  2. Per le VM Windows, Google consiglia disattivare gli aggiornamenti automatici sulle VM. In questo modo si riducono i conflitti tra gli aggiornamenti automatici il servizio Patch.

Autorizzazioni

I proprietari di un progetto Google Cloud hanno accesso completo per eseguire e gestire i job di applicazione patch. Dovrai concedere le autorizzazioni a tutti gli altri utenti. Puoi concedere uno dei seguenti seguenti ruoli granulari:

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

Ad esempio, per concedere a un utente l'accesso per eseguire job di applicazione patch, usa quanto segue :

gcloud projects add-iam-policy-binding project-id \
    --member user:user-id@gmail.com \
    --role roles/osconfig.patchJobExecutor

Sostituisci quanto segue:

  • project-id: l'ID progetto.
  • user-id: il nome utente Google Workspace dell'utente.

Esegui job di applicazione patch

Puoi eseguire un job di applicazione patch utilizzando Console Google Cloud, Google Cloud CLI, oppure REST.

Quando esegui un job di applicazione patch, l'applicazione di patch delle VM viene avviata contemporaneamente su tutte le istanze specificate dal filtro istanze.

Dopo aver avviato un job di applicazione patch, puoi monitorare le patch utilizzando Dashboard delle patch. Occorrono circa 30 minuti dopo l'avvio di un job di applicazione patch prima che i dati compilate nella dashboard.

Console

  1. Nella console Google Cloud, vai a Compute Engine > VM Manager > Pagina Patch.

    Vai alla pagina Patch

  2. Fai clic su Deployment di una nuova patch.
  3. Nella sezione VM di destinazione, seleziona la zona che contiene le VM a cui vuoi applicare la patch. Puoi anche scegliere di selezionare tutte le zone.

    Dopo aver selezionato le zone, puoi filtrare ulteriormente le VM all'interno quella zona.

    Ad esempio, per applicare patch a VM specifiche nelle zone selezionate, inserisci filtri per nome ed etichette simili ai seguenti:

    • Prefisso nome: test-
    • Etichette: env=dev e app=web
  4. Nella sezione Configurazione patch, configura la patch.

    1. Specifica un nome per la patch.
    2. Seleziona gli aggiornamenti richiesti per il tuo sistema operativo. Per ulteriori informazioni, vedi Configurazione patch.
  5. Nella sezione Programmazione, completa i seguenti passaggi:

  6. Nella sezione Opzioni di implementazione, configura le opzioni di implementazione delle patch:

    • Seleziona se applicare patch a una zona alla volta o a zone contemporaneamente.
    • Imposta un budget per l'interruzione. Il budget per l'interruzione è il numero percentuale di VM in una zona che vuoi subire interruzioni contemporaneamente dal processo di applicazione delle patch.
  7. (Facoltativo) Nella sezione Opzioni avanzate, puoi completare la le seguenti attività:

  8. Fai clic su Esegui il deployment.

gcloud

Utilizza la os-config patch-jobs execute per eseguire un job di applicazione patch. Sostituisci instance-filter con il filtro di istanza che hai desiderato. Per ulteriori informazioni sui filtri di istanza, consulta filtri delle istanze.

gcloud compute os-config patch-jobs execute instance-filter

Per ulteriori informazioni sugli aggiornamenti applicati, consulta gli elementi inclusi in un job di applicazione patch del sistema operativo. Per personalizzare gli aggiornamenti, utilizza i flag facoltativi.

Esempi

Esempio 1 Per eseguire un job di applicazione patch con le seguenti configurazioni:

  • Nome istanza: instance-1
  • Zona: us-east1-b
  • Descrizione: patch for instance-1

    Esegui questo comando:

gcloud compute os-config patch-jobs execute \
    --instance-filter-names="zones/us-east1-b/instances/instance-1" \
    --description "patch for instance-1"

Esempio 2 Supponiamo di voler eseguire un job di applicazione patch in modo asincrono con configurazioni:

  • La patch deve essere eseguita su tutte le istanze del progetto.
  • Il job di applicazione patch deve scadere e arrestarsi dopo 1 ora e 30 minuti.
  • Le macchine devono riavviarsi in base alle impostazioni di sistema dopo l'installazione aggiornamenti.
  • Sulle VM che eseguono Apt, l'applicazione di patch viene eseguita utilizzando apt dist-upgrade.
  • Sulle VM che eseguono Windows, applica le patch solo per l'KB4339284 aggiornamento.
  • Sulle VM che eseguono Yum, l'applicazione di patch viene eseguita utilizzando l'utilità yum update-minimal --security.

Esegui questo comando:

gcloud compute os-config patch-jobs execute \
    --instance-filter-all \
    --duration="1h30m" --reboot-config="DEFAULT" \
    --apt-dist --windows-exclusive-patches=4339284 \
    --yum-minimal --yum-security \
    --async

REST

Nell'API, crea una richiesta POST per eseguire un nuovo job di applicazione patch. Devi definire esplicitamente tutti i campi di configurazione obbligatori come descritto nei patchJobs.execute documentazione dell'API.

Per ulteriori informazioni sugli aggiornamenti applicati, consulta gli elementi inclusi in un job di applicazione patch del sistema operativo. Per personalizzare gli aggiornamenti, utilizza i parametri PatchConfig.

Ad esempio, un job di applicazione patch con solo i campi obbligatori è simile al seguente.

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

{
  "instanceFilter": instance-filter
}

Sostituisci quanto segue:

  • project-id: l'ID progetto.
  • instance-filter: i parametri del filtro che desiderato. Per ulteriori informazioni sui filtri di istanza, consulta filtri delle istanze.

Esempi

Esempio 1 Supponiamo di voler eseguire un job di applicazione patch su un'istanza denominata instance1 si trova a us-east1-b. In questo esempio, aggiungiamo e specifica che il job viene eseguito per 1 ora e 30 minuti. Sostituisci project-id con il tuo ID progetto.

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

{
  "description":"patch instance1 in us-east1-b",
  "duration":"5400s",
  "instanceFilter":{
    "instances":[
      "zones/us-east1-b/instances/instance1"
    ]
  }
}

Esempio 2 Il seguente job di applicazione patch seleziona VM con le seguenti configurazioni:

  • Hanno le etichette env=dev e app=web.
  • Si trovano in asia-east1-b o asia-east1-c.
  • Hanno il prefisso test-.

Nel comando seguente, sostituisci project-id con il tuo ID progetto.

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

{
  "instanceFilter":{
    "groupLabels":[
      {
        "labels":{
          "env":"dev",
          "app":"web"
        }
      }
    ],
    "instanceNamePrefixes":[
      "test-"
    ],
    "zones":[
      "asia-east1-b",
      "asia-east1-c"
    ]
  }
}

Esempio 3

Supponi di voler eseguire un job di applicazione patch con le seguenti configurazioni:

  • La patch deve essere eseguita su tutte le istanze del progetto.
  • Il job di applicazione patch deve scadere e arrestarsi dopo 1 ora e 30 minuti. L'API richiede che il tempo sia espresso in secondi, quindi impostalo su 5400s.
  • Le macchine devono riavviarsi in base alle impostazioni di sistema dopo l'installazione aggiornamenti.
  • Sulle VM che eseguono Apt, l'applicazione di patch viene eseguita utilizzando apt dist-upgrade.
  • Sulle VM che eseguono Windows, applica le patch solo per l'KB4339284 aggiornamento.
  • Sulle VM che eseguono Yum, l'applicazione di patch viene eseguita utilizzando l'utilità yum update-minimal --security.

Creeresti la seguente richiesta:

Nel comando seguente, sostituisci project-id con il tuo ID progetto.

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

{
 "duration":"5400s",
 "instanceFilter":{
   "all":true
 },
 "patchConfig":{
   "rebootConfig":"DEFAULT",
   "apt":{
     "type":"DIST"
   },
   "yum":{
     "security":true,
     "minimal":true
   },
   "windowsUpdate":{
     "exclusivePatches":"4339284"
   }
 }
}

Filtri istanza

Puoi specificare le istanze da includere in un job di applicazione patch utilizzando filtri corretti. Per i job di applicazione patch sono supportati i seguenti filtri:

  • Filtra per nome: limita il job di applicazione patch a istanze con nomi specifici. I nomi delle istanze devono essere specificati utilizzando l'URI completo. Supportato I formati URI includono:

    • zones/zone/instances/instance-name
    • projects/project-id/zones/zone/instances/instance-name
    • https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-name
  • Filtra per prefisso nome: limita il job di applicazione patch alle istanze con un prefisso specifico nel loro nome.

  • Filtra per zona: limita il job di applicazione patch alle istanze in una zona specifica.

  • Filtra per etichetta: limita il job di applicazione patch alle istanze con etichette specifiche.

Puoi anche eseguire job di applicazione patch su tutte le istanze di un progetto Google Cloud impostando il parametro campo all in instanceFilter a true. Per Per ulteriori informazioni, consulta gli esempi di filtri di istanza.

Filtri di istanza di esempio

Scenario filtro gcloud Filtro API
Tutte le istanze in un progetto Google Cloud
--instance-filter-all
{
  "instanceFilter":{
    "all":"true"
  }
}
Un'istanza con il nome instance1 che si trova nella zona us-east1-b.
--instance-filter-names="zones/us-east1-b/instances/instance1"
{
  "instanceFilter":{
    "instances":[
      "zones/us-east1-b/instances/instance1"
    ]
  }
}
Istanze con prefisso app-
--instance-filter-name-prefixes="app-"
{
  "instanceFilter":{
    "instanceNamePrefixes":[
      "app-"
    ]
  }
}
Istanze nelle zone us-east1-b o us-east1-c
--instance-filter-zones="us-east1-b","us-east1-c"
{
  "instanceFilter":{
    "zones":[
      "us-east1-b",
      "us-east1-c"
    ]
  }
}
Istanze con l'etichetta di combinazione di env=dev e app=web nonché le istanze con env=dev e app=worker.
--instance-filter-group-labels="env=dev,app=web"
--instance-filter-group-labels="env=dev,app=worker"
{
  "instanceFilter":{
    "groupLabels":[
      {
        "labels":{
          "env":"dev",
          "app":"web"
        }
      },
      {
        "labels":{
          "env":"dev",
          "app":"worker"
        }
      }
    ]
  }
}

Combinazione di filtri di istanze

Puoi anche combinare i filtri delle istanze. Ad esempio, per eseguire un job di applicazione patch istanze con prefisso test-, che si trovano nella zona us-east1-c, e che hanno le etichette env=dev e app=web, esegui il seguente comando:

gcloud compute os-config patch-jobs execute \
    --instance-filter-name-prefixes="test-" \
    --instance-filter-zones="us-east1-c" \
    --instance-filter-group-labels="env=prod,app=web"

Configurazione della patch

Quando esegui un job di applicazione patch, puoi specificare i parametri per controllare le patch vengono applicate alla VM. I parametri di configurazione della patch dipendono dalla piattaforma e spesso vengono trasmessi agli strumenti di aggiornamento di sistema sottostanti. L'effettivo Le patch provengono dai repository di pacchetti (Linux) o dall'ambiente Windows Update server (Windows) configurato sulla VM.

Puoi specificare le seguenti configurazioni di patch per le tue VM:

  • Per Windows, devi specificare la classificazione delle patch da applicare (ad es. Security e Critical) o scegliere come target kB specifici da escludere. Per ulteriori informazioni sulla classificazione delle patch, vedi il Documentazione di assistenza Microsoft.
  • Per RHEL, Rocky Linux e CentOS, il sistema sottostante è yum.

    • Per le patch che hanno come target le VM RHEL e Rocky Linux, puoi specificare pacchetti security e minimal.
    • Per le VM CentOS, non sono presenti metadati security nella Repository CentOS yum. Pertanto, non è necessario specificare Opzione security durante l'aggiornamento dei pacchetti di sicurezza. Se non specifichi qualsiasi pacchetto, il job di applicazione patch inclusi quelli con aggiornamenti della sicurezza.
    • Puoi anche escludere pacchetti specifici. Per ulteriori informazioni, consulta yum pagine man.
  • Per Debian e Ubuntu, il sistema sottostante è apt. Per le patch che hanno come target per queste VM, puoi specificare dist-upgrade o un upgrade standard. Puoi escludono anche pacchetti specifici. Per ulteriori informazioni, vedi Pagine man Debian o Pagine man di Ubuntu.

  • Per SuSE, il sistema sottostante è zypper, utilizzando in particolare zypper patch. Per le patch che hanno come target queste VM, puoi specificare opzioni come:

    • with update: aggiorna tutti i pacchetti non coperti dalle patch
    • with optional: le patch facoltative vengono trattate secondo necessità
    • Categorie o gravità delle patch da applicare

    Puoi anche escludere patch specifiche.

Facoltativamente, per tutti i sistemi operativi supportati, puoi scegliere di installare solo le patch approvate specificando questi aggiornamenti. Questo consente di inserisci un elenco di pacchetti o patch approvati. Quando selezioni queste patch approvate, vengono installati solo i pacchetti o le patch approvati. Tutte le altre configurazioni patch vengono ignorati durante l'aggiornamento.

Esempi

Console

  1. Segui i passaggi descritti nella scheda della console per creare un job di applicazione patch o un deployment delle patch.
  2. Nella sezione Configurazione patch, seleziona i parametri per il job di applicazione patch.
  3. Crea le configurazioni aggiuntive necessarie per il job di applicazione patch o al deployment.
  4. Fai clic su Esegui il deployment.

gcloud

Ad esempio, per eseguire un job di applicazione patch su tutte le istanze della zona northamerica-northeast1-a con configurazioni di patch specifiche per diversi sistemi operativi, esegui gcloud compute os-config patch-jobs execute :

gcloud compute os-config patch-jobs execute \
    --instance-filter-zones="northamerica-northeast1-a" \
    --apt-dist \
    --yum-security \
    --yum-minimal \
    --zypper-categories=security \
    --windows-classifications=critical,security \
    --reboot-config=default

Per saperne di più sulle opzioni supportate, esegui questo comando:

gcloud compute os-config patch-jobs execute --help

REST

Ad esempio, per eseguire un job di applicazione patch su tutte le istanze della zona northamerica-northeast1-a con configurazioni di patch specifiche per diversi sistemi operativi, esegui questo comando:

POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute
{
    "instanceFilter":{
        "zones":[
            "northamerica-northeast1-a"
        ]
    },
    "patchConfig":{
        "apt": {
            "type": "dist-upgrade"
        },
        "yum": {
            "security": true,
            "minimal": true
        },
        "zypper": {
            "categories": ["security"]
        },
        "windowsUpdate": {
            "classifications": ["CRITICAL", "SECURITY"]
        },
        "rebootConfig": "DEFAULT"
    }
}

Per scoprire di più sui parametri supportati, consulta il PatchConfig API.

Periodo di manutenzione

Un periodo di manutenzione è il periodo di tempo totale consentito per l'esecuzione di un job di applicazione patch. I job di applicazione patch scadranno se non vengono completati entro la manutenzione specificata finestra.

Ad esempio, se imposti un periodo di manutenzione di 60 minutes, non verrà applicata alcuna nuova patch I job verranno avviati 60 minuti dopo l'ora di inizio. Alcuni processi il download di un file o il riavvio potrebbe avvenire al di fuori di questo periodo di manutenzione. ma non verranno avviati nuovi job di applicazione patch.

Opzioni di riavvio

Quando esegui un job di applicazione patch, puoi specificare le opzioni di riavvio per la patch. La sono disponibili le seguenti opzioni:

  • Predefinito: l'agente decide se è necessario un riavvio controllando i dati su ciascun sistema operativo. Durante l'applicazione di patch potrebbero verificarsi più riavvii che potrebbero vengono applicate prima dell'installazione delle patch.
  • Sempre: la macchina si riavvia al termine dell'aggiornamento.
  • Mai: la macchina non si riavvia al termine dell'aggiornamento. In alcuni casi, ciò potrebbe significare che non tutte le patch sono state applicate completamente.

Script pre-applicazione e post-applicazione

Quando esegui un job di applicazione patch, puoi specificare gli script da eseguire come parte di applicazione delle patch. Questi script sono utili per eseguire attività come l'arresto un'applicazione ed eseguire controlli di integrità.

  • Lo script pre-applicazione viene eseguito prima dell'inizio dell'applicazione di patch. Se un riavvio del sistema richiesto prima dell'inizio dell'applicazione di patch, lo script pre-applicazione viene eseguito prima riavvio.
  • Gli script post-applicazione vengono eseguiti dopo il completamento dell'applicazione di patch. Se un riavvio del sistema richiesto come parte dell'applicazione di patch, lo script post-applicazione viene eseguito dopo il riavvio.

un job di applicazione patch accetta uno script pre-applicazione e uno post-applicazione per Linux uno script pre-applicazione e uno post-applicazione per Windows. Script Linux e Windows devono essere forniti utilizzando i flag, i parametri o le sezioni appropriati se specificati da Google Cloud CLI, REST o console Google Cloud. Gli script Linux vengono eseguiti su Linux Solo VM e script Windows vengono eseguiti solo su VM Windows.

Questi file di script possono essere archiviati sulla VM o in un con versione del bucket Cloud Storage. Se le tue l'oggetto Cloud Storage non sia leggibile da pubblico, assicurati che l'oggetto Cloud Storage account di servizio Compute Engine predefinito del progetto Google Cloud disponga delle autorizzazioni IAM necessarie per leggere Cloud Storage di oggetti strutturati. Per assicurarti di disporre delle autorizzazioni corrette, controlla la impostazioni delle autorizzazioni nella Cloud Storage.

Se vuoi usare un bucket Cloud Storage per archiviare i tuoi script, crea un bucket Cloud Storage e carica i tuoi script nel bucket.

Esempi

Console

  1. Segui i passaggi descritti nella scheda della console per creare un job di applicazione patch o un deployment delle patch.
  2. Nella sezione Opzioni avanzate, sia per pre-applicazione che per sezioni post-applicazione, fai clic su Sfoglia. Una pagina dell'oggetto di Cloud Storage vengono visualizzati i video.
  3. Dalla pagina dell'oggetto Cloud Storage, seleziona il bucket Cloud Storage che contiene lo script e poi seleziona l'oggetto o il file Cloud Storage.
  4. Crea le configurazioni aggiuntive necessarie per il job di applicazione patch o al deployment.
  5. Fai clic su Esegui il deployment.

gcloud

Ad esempio, per eseguire un job di applicazione patch su tutte le istanze della zona northamerica-northeast1-a con script pre e post-applicazione per Linux e Istanze Windows, esegui questo comando:

gcloud compute os-config patch-jobs execute \
    --instance-filter-zones="northamerica-northeast1-a" \
    --async \
    --pre-patch-linux-executable="/tmp/pre_patch_script.sh" \
    --post-patch-linux-executable="gs://my-patch-scripts/linux/post_patch_script#1523477886880" \
    --pre-patch-windows-executable="C:\\Users\\user\\pre-patch-script.cmd" \
    --post-patch-windows-executable="gs://my-patch-scripts/windows/post_patch_script.ps1#135920493447"

Per saperne di più sui formati file accettati, esegui questo comando:

gcloud compute os-config patch-jobs execute --help

REST

Ad esempio, per eseguire un job di applicazione patch su tutte le istanze della zona northamerica-northeast1-a con script pre e post-applicazione per Linux e Istanze Windows, esegui questo comando:

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

{
  "instanceFilter":{
    "zones":[
      "northamerica-northeast1-a"
    ]
  },
  "patchConfig":{
    "preStep":{
      "linuxExecStepConfig":{
        "localPath":"/tmp/pre_patch_script.sh"
      },
      "windowsExecStepConfig":{
        "interpreter":"SHELL",
        "localPath":"C:\\Users\\user\\pre-patch-script.cmd"
      }
    },
    "postStep":{
      "linuxExecStepConfig":{
        "gcsObject":{
          "bucket":"my-patch-scripts",
          "generationNumber":"1523477886880",
          "object":"linux/post_patch_script"
        }
      },
      "windowsExecStepConfig":{
        "gcsObject":{
          "bucket":"my-patch-scripts",
          "generationNumber":"135920493447",
          "object":"windows/post_patch_script.ps1"
        },
        "interpreter":"POWERSHELL"
      }
    }
  }
}

Per ulteriori informazioni sui formati file accettati, consulta le ExecStepConfig della documentazione dell'API PatchConfig.

Opzioni di implementazione delle patch

Puoi scegliere di applicare patch alle VM a una zona alla volta (zona per zona) tutte le zone contemporaneamente (zone simultanee).

Oltre a selezionare l'implementazione della zona, puoi anche specificare il budget per l'interruzione delle zone.

Budget per interruzione zona

Un budget di interruzione è il numero massimo (o la percentuale) di VM per zona da interrompere in qualsiasi momento.

Cosa si intende per VM interrotta?

Durante l'applicazione di patch, una VM viene considerata interrotta dal momento in cui l'agente OS Config viene notificato l'inizio fino al completamento dell'applicazione della patch. Queste interruzioni comprendono il tempo necessario per completare il riavvio ed eventuali passaggi post-applicazione.

Una VM viene inoltre conteggiata come parte del budget di interruzione se soddisfa uno dei le seguenti condizioni:

  • L'operazione di patch non riesce durante l'applicazione delle patch
  • L'operazione di applicazione patch non riesce durante l'esecuzione di passaggi pre o post-applicazione
  • L'operazione di patch non risponde con una notifica di operazione riuscita prima della tempistica fuori
di Gemini Advanced.

Come funzionano i budget per le interruzioni

Per le implementazioni zona per zona, se il budget di interruzione in una zona viene superato, un job di applicazione patch. Questo accade perché per passare alla zona successiva richiede il completamento del processo di applicazione patch nella zona precedente.

Ad esempio, se il budget di interruzione ha un valore pari a 10 e 8 VM hanno esito negativo alla patch nella zona attuale, il job di applicazione patch continua ad applicare la patch a 2 VM alla volta fino al completamento della zona. Una volta completata la zona, l'applicazione inizia con 10 VM alla volta nella zona successiva. In caso di errore di 10 VM nella zona successiva alla patch, il job di applicazione patch si arresta.

Esempi

Console

  1. Segui i passaggi descritti nella scheda della console per creare un job di applicazione patch o un deployment delle patch.
  2. Nella sezione Opzioni di implementazione, configura le opzioni di implementazione:
      .
    • Scegli se applicare patch a una zona alla volta o a tutte le zone contemporaneamente.
    • Imposta il budget per l'interruzione. Il budget per l'interruzione è il numero percentuale di VM in una zona che vuoi subire interruzioni contemporaneamente dal processo di applicazione delle patch.
  3. Crea le configurazioni aggiuntive necessarie per il job di applicazione patch o al deployment.
  4. Fai clic su Esegui il deployment.

gcloud

Esempio 1

Questo esempio mostra Comando os-config patch-jobs execute per l'esecuzione di un job di applicazione patch con le seguenti specifiche:

  • Applicazione di patch a tutte le VM nel progetto
  • Applicazione di patch alle VM zona per zona
  • Assicurarsi che non più di 10 VM nella stessa zona vengano interrotte in un ora
gcloud compute os-config patch-jobs execute \
   --instance-filter-all \
   --rollout-mode=zone-by-zone \
   --rollout-disruption-budget=10

Esempio 2

Questo esempio mostra Comando os-config patch-jobs execute per l'esecuzione di un job di applicazione patch con le seguenti specifiche:

  • Applicazione di patch a tutte le VM nel progetto
  • Applicazione di zone in parallelo
  • Assicurarsi che non più del 50% delle VM nella stessa zona interrotto in un determinato momento
gcloud compute os-config patch-jobs execute \
   --instance-filter-all \
   --rollout-mode=concurrent-zones \
   --rollout-disruption-budget-percent=50

REST

Questo esempio mostra Metodo patchJobs.execute per l'esecuzione di un job di applicazione patch con le seguenti specifiche:

  • Applicazione di patch a tutte le VM nelle zone us-central1-a, us-central1-c e us-central1-f
  • Applicazione di zone in parallelo
  • Assicurarsi che non più del 25% delle istanze nella stessa zona si interrompono in un determinato momento
POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute

{
  "instanceFilter":{
    "zones":[
      "us-central1-a",
      "us-central1-c",
      "us-central1-f"
    ]
  },
  "rollout": {
    "disruptionBudget": {
      "percent": 25
    },
    "mode": "CONCURRENT_ZONES"
  }
}

Per saperne di più sull'implementazione delle patch, esamina il PatchRollout documentazione dell'API.

Abilita l'applicazione di patch al software Microsoft sulle VM Windows

Quando esegui un job di applicazione patch sulle VM Windows, per impostazione predefinita, e applica solo le patch per il sistema operativo Windows.

Puoi applicare aggiornamenti per software Microsoft come Microsoft SQL Server, SharePoint Server o .NET Framework in esecuzione sul tuo VM Windows quando esegui un job di applicazione patch. Per impostazione predefinita, l'applicazione di patch le applicazioni sono disabilitate per evitare interruzioni del servizio e per separare le attività pianificate aggiornamenti per questi software. Per abilitare automaticamente l'applicazione di patch al software Microsoft, puoi utilizzare la UI di Windows o PowerShell.

UI Windows

  1. Nel menu Start di Windows, seleziona Impostazioni > Aggiorna e Sicurezza > Windows Update.
  2. Nella sezione Opzioni avanzate, attiva Ricevi aggiornamenti per altri prodotti Microsoft quando aggiorni Windows.

PowerShell

 $service_manager = New-Object -ComObject 'Microsoft.Update.ServiceManager'
 $service_manager.AddService2("7971f918-a847-4430-9279-4a52d1efe18d",7,"")

Eseguire il debug di un job di applicazione patch

Se la patch non va a buon fine, puoi seguire questi passaggi per trovarli e risolverli risolvere i problemi.

  1. Esamina il dettagli istanza per il job di applicazione patch interessato. In questo modo puoi identificare più facilmente le istanze o lo stato in cui sono bloccati. L'elenco dei dettagli dell'istanza contiene un breve messaggio di errore per ogni istanza.

    Se una patch non funziona e lo stato è NO_AGENT_DETECTED o TIMED_OUT, solitamente questo significa che il servizio abbia inviato una richiesta all'agente per iniziare ma non ho mai ricevuto risposta dall'agente. Verifica quanto segue: cause e soluzioni:

    • L'istanza non è in esecuzione. Per risolvere il problema, per avviare l'istanza VM.
    • Verifica la configurazione utilizzando l'elenco di controllo per la verifica.
    • Le impostazioni della rete sulla rete VPC non ha consentito all'agente OS Config di comunicare con API OS Config. Per risolvere il problema, controlla le impostazioni di rete.
  2. Se dettagli istanza non fornisci informazioni sufficienti, esamina i log di Cloud Logging o console per porta seriale L'agente OS Config scrive le voci di log in entrambe le posizioni. In Cloud Logging, puoi filtrare utilizzando l'ID job di applicazione patch per visualizzare tutti le voci di log correlate al job di applicazione patch. Puoi anche abilitare il logging di debug l'impostazione di osconfig-log-level=debug valore dei metadati a livello di VM o di progetto Google Cloud.

Passaggi successivi