Oltre a eseguire job di applicazione patch on demand, potresti voler avere job di applicazione patch che vengono eseguiti automaticamente in base a una pianificazione prestabilita mediante la creazione di un deployment delle patch.
Ogni deployment di patch può avere una pianificazione una tantum, che esegue un job di applicazione patch in una data e ora specifiche, o una pianificazione ricorrente, che esegue un job di applicazione patch a intervalli specificati.
I filtri delle istanze
consentono di applicare patch contemporaneamente a più istanze
contemporaneamente. Questi filtri vengono applicati a ogni singolo job di applicazione patch al momento
dell'esecuzione. Ciò garantisce che le modifiche al progetto vengano acquisite in tempo reale.
Ad esempio, supponiamo che venga creato un deployment delle patch per applicare patch a tutte le istanze nella zona asia-souteast1-b
a partire da due settimane a partire da ora. Al momento della creazione della patch, avevi 20 istanze nella zona, ma qualche giorno dopo ne sono state aggiunte 40 nuove. Poiché il filtro viene applicato nel momento in cui viene avviata la patch, vengono aggiornate tutte le 60 istanze. Ciò consente di aggiungere e rimuovere istanze
senza dover aggiornare la pianificazione del deployment delle patch.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
roles/osconfig.patchDeploymentAdmin
: contiene le autorizzazioni per creare, eliminare, recuperare ed elencare i deployment delle patch.roles/osconfig.patchDeploymentViewer
: contiene le autorizzazioni per l'accesso di sola lettura per ottenere ed elencare i deployment delle patch.project-id
: l'ID progetto.user-id
: nome utente Google Workspace dell'utente.- Ogni nome deve essere univoco all'interno di un progetto
- Contenere solo lettere minuscole, numeri e trattini
- Inizia con una lettera
- Deve terminare con un numero o una lettera
- Deve avere una lunghezza compresa tra 1 e 63 caratteri.
- Nella console Google Cloud, vai alla pagina Compute Engine > VM Manager > Patch.
- Fai clic su Deployment di nuova patch.
Nella sezione VM di destinazione, seleziona la zona che contiene le VM a cui vuoi applicare la patch. È possibile anche scegliere di selezionare tutte le zone.
Ad esempio, per applicare la patch a VM specifiche nelle zone selezionate, inserisci i filtri del nome e dell'etichetta simili a quanto segue:
- Prefisso nome:
test-
- Etichette:
env=dev
eapp=web
- Prefisso nome:
Nella sezione Configurazione patch, configura la patch.
- Specifica un nome per la patch.
- Seleziona gli aggiornamenti richiesti per il tuo sistema operativo. Per ulteriori informazioni, consulta gli elementi inclusi in un job di applicazione patch del sistema operativo.
Nella sezione Pianificazione, completa i seguenti passaggi:
- Seleziona una pianificazione. Puoi pianificare un job di applicazione patch una tantum o job di applicazione patch ricorrenti.
- (Facoltativo) Imposta una durata o un periodo di manutenzione.
Nella sezione Opzioni di implementazione, configura le opzioni di implementazione delle patch:
- Scegli se applicare patch a una zona alla volta o contemporaneamente.
- Imposta un budget per l'interruzione. Il budget per l'interruzione è il numero o la percentuale di VM in una zona che vuoi interrompere una volta sola dal processo di applicazione delle patch.
(Facoltativo) Nella sezione Opzioni avanzate, puoi completare le seguenti attività:
- Seleziona un'opzione di riavvio.
- Carica script pre-applicazione e post-applicazione. Per ulteriori informazioni sugli script pre-applicazione e post-applicazione, consulta la sezione Specificare gli script pre-applicazione e post-applicazione.
Fai clic su Esegui il deployment.
patch-deployment-id
: il nome del deployment delle patch.patch-deployment-file
: il percorso del file YAML o JSON che contiene le configurazioni per il deployment delle patch.- La data di inizio è 09 gennaio 2019 alle 19:30
- La data di fine è il 09 gennaio 2020 alle 19:30
- Il fuso orario da utilizzare è "America/Los_Angeles"
- Eseguito ogni settimana di un martedì
project-id
: l'ID del tuo progetto.instance-filter
: i parametri di filtro preferiti. Per ulteriori informazioni sui filtri di istanze, consulta la pagina relativa ai filtri di istanza.schedule
: fornisci il parametrooneTimeSchedule
orecurringSchedule
che descrive in dettaglio i parametri di pianificazione come data, ora e frequenza di esecuzione del job di applicazione patch.- La data di inizio è 09 gennaio 2019 alle 19:30
- La data di fine è il 09 gennaio 2020 alle 19:30
- Il fuso orario da utilizzare è "America/Los_Angeles"
- Eseguito ogni settimana di un martedì
- Nella console Google Cloud, vai alla pagina Compute Engine > VM Manager > Patch.
- Seleziona la scheda Deployment pianificati.
- Nella console Google Cloud, vai alla pagina Compute Engine > VM Manager > Patch.
- Seleziona la scheda Deployment pianificati.
- Fai clic sul nome del deployment che vuoi esaminare.
project-id
: l'ID del tuo progetto.patch-deployment-id
: nome del deployment delle patch.- Nella console Google Cloud, vai alla pagina Compute Engine > VM Manager > Patch.
- Seleziona la scheda Deployment pianificati.
- Fai clic sul nome del deployment che vuoi eliminare.
- Fai clic su Elimina questa pianificazione.
project-id
: l'ID del tuo progetto.patch-deployment-id
: nome del deployment delle patch.- Scopri di più sulla Patch.
- Crea un job di applicazione patch.
- Gestire i job di applicazione patch.
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.
Puoi pianificare i job di applicazione patch utilizzando la console Google Cloud, Google Cloud CLI o REST.
Autorizzazioni
I proprietari di un progetto hanno accesso completo per creare e gestire i deployment delle patch. Per tutti gli altri utenti, devi concedere le autorizzazioni. Puoi concedere uno dei seguenti ruoli granulari:
Ad esempio, per concedere a un utente l'accesso amministrativo ai deployment delle patch, esegui questo comando:
gcloud projects add-iam-policy-binding project-id \ --member user:user-id@gmail.com \ --role roles/osconfig.patchDeploymentAdmin
Sostituisci quanto segue:
Creazione di un deployment delle patch
Quando crei un deployment di patch, il nome deve soddisfare i seguenti requisiti di denominazione:
In Google Cloud CLI e REST, il nome del deployment delle patch è indicato come
patch-deployment-id
.Dopo aver avviato il deployment delle patch, puoi monitorare le patch utilizzando la dashboard delle patch. Dopo l'avvio di un job di applicazione patch, sono necessari circa 30 minuti prima che i dati vengano completati nella dashboard.
console
gcloud
Utilizza il comando
os-config patch-deployments create
per creare un deployment delle patch.gcloud compute os-config patch-deployments create patch-deployment-id \ --file patch-deployment-file
Sostituisci quanto segue:
File YAML di deployment delle patch di esempio
Il seguente file YAML di esempio può essere utilizzato per creare una pianificazione ricorrente per tutte le istanze nelle zone
us-west2-b
eus-west2-c
. La pianificazione ricorrente ha le seguenti specifiche: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
Nell'API, crea una richiesta
POST
per creare un nuovo deployment delle patch. Devi definire esplicitamente tutti i campi di configurazione obbligatori, come descritto nella documentazione dell'APIpatchDeployments.create
. Ad esempio, un deployment di patch con i campi obbligatori minimi (filtro istanza e pianificazione) è simile al seguente. Sostituisciproject-id
con l'ID progetto.POST https://osconfig.googleapis.com/v1/projects/project-id/patchJobs:execute { "instanceFilter": instance-filter // Add one of the following parameters: "recurringSchedule": schedule "oneTimeSchedule": schedule }
Sostituisci quanto segue:
Esempi
Esempio 1: crea una pianificazione una tantum per eseguire un job di applicazione patch il 10 gennaio 2020 alle ore 00:00 UTC su tutte le istanze nelle zone
us-west2-b
eus-west2-c
.{ "instanceFilter":{ "zones":[ "us-west2-b", "us-west2-c" ] }, "oneTimeSchedule": { "executeTime": "2020-01-10T00:00:00Z" } }
Esempio 2: crea una pianificazione ricorrente per tutte le istanze nelle zone
us-west2-b
eus-west2-c
. La pianificazione ricorrente ha le seguenti specifiche: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" } }
Elenco dei deployment delle patch
console
gcloud
Utilizza il comando
os-config patch-deployments list
per elencare i deployment delle patch.gcloud compute os-config patch-deployments list
Questo comando restituisce tutti i deployment delle patch. L'output è simile al seguente:
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)
Puoi utilizzare più flag per limitare e formattare la ricerca. Ad esempio, per elencare i primi 10 deployment di patch nelle pagine 2, esegui questo comando. Sostituisci
project-id
con l'ID progetto.gcloud compute os-config patch-deployments list --limit 10 --page-size 2
REST
Nell'API, crea una richiesta
GET
per il metodopatchDeployments.list
. Sostituisciproject-id
con l'ID progetto.GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments
Descrizione del deployment di una patch
console
gcloud
Utilizza il comando
os-config patch-deployments describe
per descrivere il deployment di una patch. Sostituiscipatch-deployment-id
con il nome del deployment della patch.gcloud compute os-config patch-deployments describe patch-deployment-id
REST
Nell'API, crea una richiesta
GET
per il metodopatchDeployments.get
.GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id
Sostituisci quanto segue:
Eliminazione del deployment di una patch
console
gcloud
Usa il comando
os-config patch-deployments delete
per eliminare il deployment di una patch. Sostituiscipatch-deployment-id
con il nome del deployment della patch.gcloud compute os-config patch-deployments delete patch-deployment-id
REST
Nell'API, crea una richiesta
DELETE
per il metodopatchDeployments.delete
.DELETE https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id
Sostituisci quanto segue:
Che cosa succede dopo?
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-10-14 UTC.
-