Salta ai contenuti

Aggiornamenti

Gli aggiornamenti sono gestiti da CoreLCM, da Citadel (Lifecycle) o da CoreCLI.

CategoriaComponenti
Immagine di sistemaCorellixOS
Servizi nativiWarden, Meridian-South, Citadel, CoreLCM, CoreCLI
Chart applicativoCorellix Chart (Layer 9)
Servizi applicativiNucleus, Meridian-North, Lumina, Corellia, Beacon, Vanguard, GuacD, Docs, Lamp

Il portale documentazione è in questo elenco. Si aggiorna con la piattaforma, esattamente come Lumina o Meridian: la documentazione che leggete on-prem corrisponde sempre alla versione che avete installato.

Terminal window
core lcm status # che cosa avete e che cosa è disponibile
core lcm plan --component nucleus # il piano, senza eseguirlo
core lcm upgrade --component nucleus # esegue

oppure, per tutto:

Terminal window
core lcm plan --all
core lcm upgrade --all

Da Citadel, la pagina Lifecycle mostra la stessa tabella con un pulsante per componente e uno per aggiornare tutto.

Il piano si costruisce prima di toccare qualsiasi cosa. Contiene i passi ordinati, la versione di partenza e di arrivo di ciascun componente, i nodi coinvolti e le verifiche di compatibilità.

Vale la pena leggerlo prima di eseguirlo, soprattutto la prima volta e soprattutto quando comprende l’immagine di sistema.

L’ordine non è arbitrario: i servizi nativi prima di quelli del cluster, il chart prima dei componenti che contiene, e ogni componente su tutti i nodi prima del successivo.

Nel piano, componenti diversi mostrano numeri diversi. È corretto: alcuni componenti licenziati separatamente — Lamp, per esempio — hanno una propria linea di versione. CoreLCM risolve la versione giusta per ciascuno invece di assumere che sia quella della piattaforma.

AggiornamentoImpatto
Servizio applicativoNessuno con più repliche; qualche secondo con una replica
Chart applicativoCome sopra, per i componenti effettivamente modificati
Servizio nativoBreve interruzione del servizio interessato
Immagine di sistemaRiavvio del nodo

Su un cluster a tre nodi, l’aggiornamento dell’immagine procede un nodo alla volta e il servizio resta disponibile. Su un nodo singolo, l’aggiornamento dell’immagine comporta un’interruzione pari al tempo di riavvio.

Ogni passo è registrato in un giornale durevole. Se l’esecuzione si interrompe — riavvio, errore, interruzione manuale — riparte da dove si era fermata invece che da capo.

Questo rende sicuro riprovare: rilanciare un aggiornamento interrotto non ripete i passi già completati.

Terminal window
core lcm rollback --component nucleus

Il rollback ha gli stessi controlli di compatibilità dell’aggiornamento: CoreLCM rifiuta di riportare indietro un componente se lascerebbe gli altri in uno stato non supportato.

Il rollback riguarda i componenti, non i dati. Una migrazione di schema applicata da una versione non viene annullata. Quando un aggiornamento comprende una migrazione non reversibile, il piano lo dichiara prima dell’esecuzione — ed è il momento in cui verificare di avere un backup recente.

  1. Verificate lo stato del cluster. Un cluster già degradato non è il momento giusto.

    Terminal window
    core cluster status
  2. Fate un backup. Sempre prima di un aggiornamento dell’immagine o di uno che comprende migrazioni.

    Terminal window
    core backup create --name pre-upgrade-$(date +%Y%m%d)
  3. Leggete le note di rilascio. In particolare le sezioni sulle modifiche non retrocompatibili. Vedi Note di rilascio.

  4. Scegliete una finestra. Anche se l’impatto è nullo o minimo, un aggiornamento va fatto quando c’è qualcuno che può guardare che cosa succede.

Senza accesso a Internet, gli aggiornamenti arrivano da bundle importati a mano. Vedi Ambienti air-gapped.

Il passo fallito è indicato nel piano, con l’errore. Le cause più frequenti:

CausaVerifica
Immagine non scaricabileConnettività verso il registro, o presenza nel bundle
Cluster degradatocore cluster status
Spazio insufficientecore diag disk
Risorsa in conflitto nel clusterIl messaggio del passo fallito lo indica

Dopo aver rimosso la causa, rilanciate l’aggiornamento: riprende dal punto di interruzione. Se il problema persiste, generate il bundle diagnostico e apritene una segnalazione — vedi Diagnostica.