Passa al contenuto principale
06 / Guide · Server · 6.5

Aggiorna CloudGround

Installa una release firmata più recente dal pannello o con cgctl update; una release che non parte viene annullata, con lo stato del pannello com'era.

Tipo
Guida pratica
Serve
Un account amministratore, per il pannello; root sul server, per cgctl update
Versione
v0.1.0
Ultima verifica
Non verificata

Il pulsante Aggiorna ora del pannello e cgctl update avviano lo stesso aggiornamento. Installa solo release firmate con una chiave che il CloudGround installato conosce, prima fa uno snapshot dello stato del pannello, e rimette da solo la release precedente se la nuova non è in salute entro 60 secondi.

Controlla se c'è una nuova versione​

Quando c'è una release più recente, la dashboard mostra È disponibile CloudGround <versione>, con la versione che stai usando e il link Novità. Il pannello controlla quando lo apri e tiene la risposta per sei ore.

Per non controllare più, apri Impostazioni, riquadro Aggiornamenti del pannello, spegni Controlla gli aggiornamenti quando apri il pannello e premi Salva. Il controllo non installa mai nulla da solo.

Nello stesso riquadro, Canale degli aggiornamenti sceglie cosa ti viene proposto: Stabile solo le versioni finali, Beta (anche versioni di prova) anche quelle di prova.

Dalla shell, da root sul server:

bash
cgctl update --check

Stampa update available: <installata> -> <release> (signature verified), oppure up to date, e non cambia nulla.

Aggiorna dal pannello​

  1. Nella dashboard premi Aggiorna ora. In alternativa, in Impostazioni, riquadro Aggiornamenti del pannello, premi Aggiorna ora e conferma.
  2. Il pannello dice Aggiornamento avviato: il pannello si riavvierà.

Con l'API la richiesta è POST /api/panel/update, con {"version": "<versione>"} o {} per la più recente.

Aggiorna con cgctl​

Sul server, da root:

bash
cgctl update

Installa la release più recente del canale che segue il pannello. Le varianti:

ComandoCosa installa
cgctl updatela release più recente del canale del pannello
cgctl update --to <vX.Y.Z>quella release, mai una più vecchia
cgctl update --channel betala release più recente di quel canale (stable o beta), solo questa volta
cgctl update --timeout <durata>lo stesso, aspettando il verdetto per quel tempo (predefinito 10m)

cgctl update aspetta il riavvio e stampa updated: <precedente> -> <release> e lo snapshot che ha fatto, uscita 0. Se la release è stata annullata stampa rolled back: <precedente> runs again, with its state from <snapshot>, uscita 1.

Cosa fa un aggiornamento​

  1. Controlla la release prima di cambiare qualsiasi cosa: il manifesto firmato si verifica con una chiave compilata nel CloudGround installato, il canale la accetta (una beta mai sul canale stabile), ed è più recente della release in uso e di ogni release mai installata su questo server.
  2. Scarica ogni file e lo controlla con il manifesto, poi scambia i binari, tenendo quelli vecchi.
  3. Un processo di guardia, che gira con la release precedente, ferma il pannello, fa uno snapshot dello stato del pannello e dei registri dell'agent, e avvia la nuova release.
  4. Se agent e pannello rispondono con i nuovi binari entro 60 secondi, l'aggiornamento è fatto. Altrimenti la guardia rimette i binari, le unità e lo snapshot precedenti, e riavvia la release precedente.

Il nuovo pannello migra il suo database in avanti al primo avvio, attraverso ogni passo tra le due release: puoi passare da una release a una qualsiasi più recente con un solo aggiornamento. La migrazione non va mai all'indietro, quindi la strada per tornare è lo snapshot, che un aggiornamento fallito rimette da solo.

Cosa tiene​

Un aggiornamento sostituisce i binari e, quando la release le cambia, le unità systemd. Non tocca mai i file dei siti, i loro database, i certificati o i backup. I siti continuano a rispondere per tutto il tempo: nginx e il PHP dei siti non vengono riavviati. Solo il pannello risponde con un errore per i pochi secondi del suo riavvio.

Rifiuta, senza cambiare nulla:

  • una release non firmata con una chiave che il CloudGround installato conosce;
  • una release che non è più recente di quella in uso o della più recente mai installata qui (refusing to downgrade);
  • un aggiornamento mentre è in corso un backup, un ripristino o un'attività che non può riprendere: aspetta che finisca.

Controlla com'è andata​

bash
cat /var/lib/cloudground-agent/update-result.json
journalctl -u cloudground-update-guard

Il file dice a quale versione sei passato, oppure che l'aggiornamento è stato annullato e perché. Il journal mostra ogni passo della guardia. Gli ultimi tre snapshot restano in /var/lib/cloudground-agent/update-snapshots/.

Prossimo passo​

Per togliere CloudGround da un server, vedi disinstalla CloudGround.

Questa pagina ti è stata utile?
Modifica questa pagina ↗