Le immagini del sistema operativo ottimizzate per i container hanno la funzionalità integrata per eseguire automaticamente l'upgrade a una versione più recente al momento del rilascio. Se abilitata, questa funzionalità consente alle istanze utente di rimanere aggiornate in merito a correzioni di bug e di sicurezza.
Quando Container-Optimized OS viene utilizzato all'interno di un servizio gestito (ad esempio Google Kubernetes Engine, Cloud SQL e così via), il servizio gestito si occupa di aggiornare l'istanza Container-Optimized OS per gli utenti. Pertanto, gli aggiornamenti automatici sono disabilitati per impostazione predefinita.
Gli utenti che eseguono carichi di lavoro di produzione sensibili agli upgrade del kernel e che richiedono una qualificazione e un'implementazione controllate devono disattivare anche gli aggiornamenti automatici. Per ulteriori informazioni, consulta la sezione Disattivare gli aggiornamenti automatici.
Attivare o disattivare gli aggiornamenti automatici
Nel traguardo 117 e versioni successive, la funzionalità di aggiornamenti automatici è disabilitata per impostazione predefinita su tutte le immagini Container-Optimized OS. Nei traguardi precedenti alla versione 117, la funzionalità è attiva per impostazione predefinita. Puoi attivare o disattivare gli aggiornamenti automatici impostando i metadati cos-update-strategy
sulle nuove istanze, sulle istanze esistenti o su tutte le istanze di un progetto, come descritto nelle sezioni seguenti.
Configurare gli aggiornamenti automatici su una nuova istanza
Crea una nuova istanza con gli aggiornamenti automatici abilitati:
gcloud compute instances create INSTANCE_NAME \
--metadata cos-update-strategy=update_enabled
Crea una nuova istanza con gli aggiornamenti automatici disattivati:
gcloud compute instances create INSTANCE_NAME \
--metadata cos-update-strategy=update_disabled
Configurare gli aggiornamenti automatici su un'istanza esistente
Attiva gli aggiornamenti automatici per un'istanza esistente:
gcloud compute instances add-metadata INSTANCE_NAME \
--metadata cos-update-strategy=update_enabled
Per disattivare gli aggiornamenti automatici per un'istanza esistente:
gcloud compute instances add-metadata INSTANCE_NAME \
--metadata cos-update-strategy=update_disabled
Configurare gli aggiornamenti automatici su tutte le istanze di un progetto
A partire dal traguardo 97, puoi attivare o disattivare gli aggiornamenti automatici per tutte le istanze di un progetto utilizzando gli indicatori dei metadati nei metadati del progetto.
Attiva gli aggiornamenti per tutte le istanze di un progetto:
gcloud compute project-info add-metadata \
--metadata cos-update-strategy=update_enabled
Disattiva gli aggiornamenti per tutte le istanze di un progetto:
gcloud compute project-info add-metadata \
--metadata cos-update-strategy=update_disabled
Progettazione degli aggiornamenti automatici
Container-Optimized OS utilizza uno schema di partizione radice attivo-passivo. L'immagine del sistema operativo viene aggiornata nella sua interezza, incluso il kernel, a differenza degli aggiornamenti dei singoli pacchetti come nelle distribuzioni Linux tradizionali. L'immagine viene fornita con la funzionalità di aggiornamenti automatici attivata; ciò significa che un'istanza predefinita di Container-Optimized OS scarica sempre la versione più recente del sistema operativo e la installa nella partizione passiva poco dopo il rilascio.
Se utilizzi un'immagine del traguardo LTS o della famiglia di immagini cos-stable, riceverai un aggiornamento della versione più recente del sistema operativo dello stesso traguardo. Per la famiglia di immagini cos-dev e cos-beta, l'aggiornamento sarà la versione più recente del sistema operativo della famiglia di immagini corrispondente.
Modifiche al comportamento degli aggiornamenti automatici
Il team di Container-Optimized OS sta lavorando attivamente per migliorare la nostra infrastruttura di backend che rende possibili gli aggiornamenti automatici. Nell'ambito di queste modifiche, stiamo ruotando le chiavi utilizzate per firmare e convalidare i payload di aggiornamento. Tuttavia, le immagini rilasciate prima della rotazione della chiave non possono essere aggiornate automaticamente alle immagini rilasciate dopo la rotazione. L'elenco delle immagini interessate è il seguente:
Queste immagini non possono essere aggiornate alle versioni più recenti:
- Nel traguardo 77: immagini precedenti a cos-77-12371-1000-0
- Nel traguardo 81: immagini precedenti a cos-81-12871-1000-0
- Per il traguardo 85: immagini precedenti a cos-85-13310-1000-0
- In Milestone 86: immagini precedenti a cos-dev-86-15053-0-0
Queste immagini non riceveranno più aggiornamenti:
- Tutti i traguardi precedenti al 77, inclusi eventuali traguardi ritirati in precedenza.
Gli utenti che eseguono Container-Optimized OS autonomo con una delle versioni interessate e che hanno attivato la funzionalità di aggiornamento automatico non vedranno le loro istanze aggiornate alle versioni più recenti. In questi casi, gli utenti devono scegliere manualmente le versioni più recenti del sistema operativo ricreando le istanze VM con l'immagine più recente. Gli aggiornamenti automatici continueranno a funzionare su tutti i traguardi supportati per le nuove release.