Oltre a eseguire job di patch on demand, potresti voler eseguire job di patch automaticamente in base a una pianificazione impostata creando un deployment di patch.
Ogni deployment di patch può avere una pianificazione una tantum, che esegue un job di patch in una data e ora specifiche, o una pianificazione ricorrente, che esegue un job di patch a un intervallo specificato.
I filtri delle istanze
consentono di applicare patch a più istanze contemporaneamente. Questi filtri vengono applicati a ogni singolo job di applicazione patch al momento dell'esecuzione. In questo modo, le modifiche al progetto vengono acquisite in tempo reale.
Ad esempio, supponiamo che venga creato un deployment di patch per applicare le patch a tutte le istanze
nella zona asia-souteast1-b
a partire da due settimane. Al momento della creazione
della patch, avevi 20 istanze nella zona, ma pochi giorni dopo ne vengono aggiunte 40 nuove. Poiché il filtro viene applicato all'inizio della patch, vengono aggiornate tutte le 60 istanze. In questo modo puoi aggiungere e rimuovere istanze
senza dover aggiornare la pianificazione del deployment delle patch.
Prima di iniziare
- Esamina le quote di OS Config.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è
il processo di verifica dell'identità per poter accedere a Trusted Cloud by S3NS servizi e API.
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 Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.
gcloud
-
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il seguente comando:
gcloud init
- Set a default region and zone.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il seguente comando:
gcloud init
Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Trusted Cloud .
Puoi pianificare i job di applicazione patch utilizzando la consoleTrusted 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:
roles/osconfig.patchDeploymentAdmin
: contiene le autorizzazioni per creare, eliminare, recuperare ed elencare i deployment patch.roles/osconfig.patchDeploymentViewer
: contiene le autorizzazioni per l'accesso di sola lettura per recuperare ed elencare i deployment di patch.
Ad esempio, per concedere a un utente l'accesso amministratore ai deployment di patch, esegui il seguente comando:
gcloud projects add-iam-policy-binding project-id \ --member user:user-id@gmail.com \ --role roles/osconfig.patchDeploymentAdmin
Sostituisci quanto segue:
project-id
: l'ID progetto.user-id
: il nome utente di Google Workspace dell'utente.
Creazione di un deployment delle patch
Quando crei un deployment di patch, il nome deve soddisfare i seguenti requisiti di denominazione:
- 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
- Avere una lunghezza compresa tra 1 e 63 caratteri
In Google Cloud CLI e REST, il nome del deployment della patch è indicato come
patch-deployment-id
.Dopo aver avviato un deployment di patch, puoi monitorare le patch utilizzando la dashboard Patch. Sono necessari circa 30 minuti dall'avvio di un job di applicazione patch prima che i dati vengano compilati nella dashboard.
console
- Nella Trusted Cloud console, vai alla pagina Compute Engine > VM Manager > Patch.
- Fai clic su Deployment di una nuova patch.
Nella sezione VM target, seleziona la zona contenente le VM a cui vuoi applicare la patch. Puoi anche scegliere di selezionare tutte le zone.
Ad esempio, per applicare patch a VM specifiche nelle zone selezionate, inserisci i filtri per nome ed etichetta come i seguenti:
- Prefisso nome:
test-
- Etichette:
env=dev
eapp=web
- Prefisso nome:
Nella sezione Configurazione della patch, configura la patch.
- Specifica un nome per la patch.
- Seleziona gli aggiornamenti richiesti per il tuo sistema operativo. Per saperne di più, vedi Che cosa è incluso in un job di applicazione patch del sistema operativo.
Nella sezione Programmazione, completa quanto segue:
- Seleziona una programmazione. Puoi pianificare un job di applicazione patch una tantum o job di 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 le patch a una zona alla volta o a più zone contemporaneamente.
- Imposta un budget di interruzione. Un budget di interruzione è il numero o la percentuale di VM in una zona che vuoi che vengano interrotte contemporaneamente dalla procedura di applicazione delle patch.
(Facoltativo) Nella sezione Opzioni avanzate, puoi completare le seguenti attività:
- Seleziona un'opzione di riavvio.
- Carica gli script pre-applicazione e post-applicazione delle patch. Per ulteriori informazioni sugli script pre-applicazione e post-applicazione delle patch, consulta Specifica degli script pre-applicazione e post-applicazione delle patch.
Fai clic su Esegui il deployment.
gcloud
Utilizza il comando
os-config patch-deployments create
per creare un deployment di patch.gcloud compute os-config patch-deployments create patch-deployment-id \ --file patch-deployment-file
Sostituisci quanto segue:
patch-deployment-id
: Il nome dell'applicazione della patch.patch-deployment-file
: il percorso del file YAML o JSON contenente le configurazioni per l'implementazione della patch.
File YAML di esempio per il deployment di patch
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:- La data di inizio è il 9 gennaio 2019 alle 19:30
- La data di fine è il 9 gennaio 2020 alle 19:30
- Il fuso orario da utilizzare è "America/Los_Angeles"
- Eseguito ogni settimana di martedì
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 istanze 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:
project-id
: il tuo ID progetto.instance-filter
: i parametri di filtro che preferisci. Per saperne di più sui filtri delle istanze, consulta Filtri delle istanze.schedule
: fornisci il parametrooneTimeSchedule
orecurringSchedule
che specifica i parametri di pianificazione, ad esempio data, ora e frequenza di esecuzione del job di applicazione patch.
Esempi
Esempio 1: crea una pianificazione una tantum per eseguire un job di applicazione patch il 10 gennaio 2020 alle 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:- La data di inizio è il 9 gennaio 2019 alle 19:30
- La data di fine è il 9 gennaio 2020 alle 19:30
- Il fuso orario da utilizzare è "America/Los_Angeles"
- Eseguito ogni settimana di martedì
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" } }
Elenca i deployment delle patch
console
- Nella Trusted Cloud console, vai alla pagina Compute Engine > VM Manager > Patch.
- Seleziona la scheda Implementazioni pianificate.
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 altri flag per limitare e formattare la ricerca. Ad esempio, per elencare i primi 10 deployment di patch in pagine di 2, esegui il comando seguente. 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
al metodopatchDeployments.list
. Sostituisciproject-id
con l'ID progetto.GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments
Descrivere un deployment patch
console
- Nella Trusted Cloud console, vai alla pagina Compute Engine > VM Manager > Patch.
- Seleziona la scheda Implementazioni pianificate.
- Fai clic sul nome del deployment che vuoi esaminare.
gcloud
Utilizza il comando
os-config patch-deployments describe
per descrivere un deployment di patch. Sostituiscipatch-deployment-id
con il nome della distribuzione delle patch.gcloud compute os-config patch-deployments describe patch-deployment-id
REST
Nell'API, crea una richiesta
GET
al metodopatchDeployments.get
.GET https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id
Sostituisci quanto segue:
project-id
: il tuo ID progetto.patch-deployment-id
: il nome del deployment della patch.
Elimina un deployment patch
console
- Nella Trusted Cloud console, vai alla pagina Compute Engine > VM Manager > Patch.
- Seleziona la scheda Implementazioni pianificate.
- Fai clic sul nome del deployment che vuoi eliminare.
- Fai clic su Elimina questa pianificazione.
gcloud
Utilizza il comando
os-config patch-deployments delete
per eliminare un deployment di patch. Sostituiscipatch-deployment-id
con il nome della distribuzione delle patch.gcloud compute os-config patch-deployments delete patch-deployment-id
REST
Nell'API, crea una richiesta
DELETE
al metodopatchDeployments.delete
.DELETE https://osconfig.googleapis.com/v1/projects/project-id/patchDeployments/patch-deployment-id
Sostituisci quanto segue:
project-id
: il tuo ID progetto.patch-deployment-id
: il nome del deployment della patch.
Passaggi successivi
- Scopri di più su Patch.
- Crea un job di applicazione patch.
- Gestisci i job di applicazione patch.
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 2025-08-08 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-08 UTC."],[[["Patch deployments allow for automatic patch jobs based on a one-time or recurring schedule, enhancing system maintenance beyond on-demand patching."],["Instance filters can be used in patch deployments to target multiple instances simultaneously, with changes in the project reflected in real-time during the patch job execution."],["Patch deployments can be configured and managed using the Google Cloud console, the Google Cloud CLI, or REST, with granular permission roles available for managing patch deployments."],["Creating a patch deployment involves specifying instance filters, patch configurations, scheduling details, rollout options, and advanced options like pre/post-patch scripts and reboot settings."],["Patch deployments can be listed, described, and deleted by using either the Google Cloud Console, Google Cloud CLI, or REST."]]],[]] -