Come aggiornare i cluster Kubernetes gestiti da DigitalOcean

0
193

Il servizio gestito Kubernetes (DOKS) di DigitalOcean lo rende rapido e facile ottenere cluster pronti per la produzione in esecuzione nel cloud. Quando crei un cluster, puoi scegliere tra le tre versioni minori di Kubernetes più recenti. Ecco come gestire gli aggiornamenti in modo da non rimanere indietro su nuove funzionalità e patch di sicurezza.

Tipi di aggiornamento

< p>Durante l'utilizzo del cluster incontrerai due diversi tipi di aggiornamento Kubernetes:

  • Rilasci di patch– Questi aumentano il numero di patch nello schema di versionamento semantico, come da 1.20.1 a 1.20.2. Gli aggiornamenti delle patch dovrebbero essere sempre sicuri, senza deprecazioni o modifiche di rilievo.
  • Versioni minori – Una versione minore comporta un aumento delle funzionalità, ad esempio da 1,20 a 1,21. Queste modifiche dovrebbero essere ancora compatibili con le versioni precedenti, quindi non incontrerai problemi immediati. Alcune funzionalità potrebbero essere deprecate in una versione minore per la rimozione in una futura maggiore (da 1.x a 2.x).

Sia per le patch che per le versioni minori, DigitalOcean offre un servizio di aggiornamento automatico che interverrà per tuo conto. Gli aggiornamenti verranno installati durante una finestra di manutenzione preimpostata. Gli aggiornamenti minori non vengono applicati a meno che non abiliti prima manualmente un'opzione a livello di cluster.

DigitalOcean potrebbe a volte forzare un aggiornamento in caso di un problema di sicurezza urgente. Questo può accadere anche se hai disabilitato gli aggiornamenti automatici. Inoltre, il tuo cluster verrà eventualmente aggiornato se rimani sulla versione più vecchia di Kubernetes supportata per così tanto tempo che DigitalOcean la interrompe completamente.

Gli aggiornamenti sono un processo in due fasi. Per prima cosa viene aggiornato il piano di controllo di Kubernetes, durante il quale i tuoi carichi di lavoro rimangono disponibili. I tuoi nodi di lavoro vengono quindi aggiornati alla nuova versione. Ciò può causare tempi di inattività a seconda delle dimensioni del cluster e dei relativi carichi di lavoro.

Impostazione della pianificazione degli aggiornamenti

Il programma di aggiornamento automatico del tuo cluster è impostato nel pannello di controllo di DigitalOcean. Accedi al tuo account e fai clic sul tuo cluster nella home page. Puoi anche fare clic su “Kubernetes” nella barra laterale sinistra e scegli il tuo cluster da lì.

 

Annuncio

Una volta che sei nella pagina del cluster, fai clic sul pulsante “Impostazioni” scheda in alto. Fare clic sul pulsante “Modifica” accanto alla “finestra di aggiornamento” categoria. Usa i due menu a discesa per scegliere un giorno e un'ora. Fare clic su “Salva” per confermare la tua selezione. DigitalOcean pianificherà gli aggiornamenti automatici da installare durante un periodo di quattro ore a partire dall'orario impostato.

Se vuoi che anche le versioni minori di Kubernetes vengano applicate automaticamente, fai clic sul pulsante “Modifica” accanto a “Aggiorna automaticamente le patch della versione minore.” Quando la casella è selezionata, il tuo cluster passerà a nuove versioni secondarie senza alcun intervento manuale. Dovresti valutare questa decisione rispetto alla stabilità minima di cui hai bisogno per i tuoi carichi di lavoro.

Aggiornamento manuale

Puoi sempre aggiornare manualmente il tuo cluster dal controllo cloud pannello. Dovrai farlo quando esegui un aggiornamento di versione minore e non hai abilitato l'opzione automatica. Un aggiornamento manuale è utile anche se desideri installare una patch prima del tuo solito programma.

Vai al tuo cluster nel pannello di controllo. Scorri verso il basso nella “Panoramica” e fai clic sul pulsante blu “Visualizza aggiornamento disponibile” pulsante. Se questo pulsante non viene visualizzato, il tuo cluster è già aggiornato e non sono disponibili ulteriori patch.

Se stai eseguendo l'aggiornamento a una nuova versione secondaria, DigitalOcean racconterà le risorse del tuo cluster per scoprire eventuali problemi di compatibilità. Il completamento di questo controllo potrebbe richiedere alcuni istanti. Vedrai i risultati visualizzati nella finestra popup.

Annuncio

Eventuali problemi di linting dovrebbero essere risolti prima di procedere con l'aggiornamento. Sebbene gli aggiornamenti Kubernetes minori non dovrebbero presentare seri problemi di compatibilità con le versioni precedenti, gli aggiornamenti comportano anche modifiche alla piattaforma DOKS sottostante. DigitalOcean a volte regola la configurazione di DOKS in modi che potrebbero introdurre blocchi di aggiornamento per le versioni precedenti.

Se il lint fallisce, dovresti fare riferimento alla documentazione di DigitalOcean poiché i passaggi di risoluzione differiranno da cluster a cluster. Il riferimento ai lanugine di DigitalOcean include passo dopo passo “come risolvere” istruzioni per i problemi più comuni. Quando hai finito, fai clic su “Riesegui controllo” per confermare che le tue correzioni siano efficaci.

Una volta passata la lanugine, fai clic sul pulsante blu “Aggiorna ora” pulsante per avviare l'aggiornamento. Questa operazione potrebbe richiedere diversi minuti a seconda delle dimensioni del cluster. Lo stato di avanzamento viene mostrato nell'interfaccia utente del pannello di controllo. Il piano di controllo viene aggiornato per primo, seguito da ogni nodo di lavoro nel tuo cluster.

Aggiornamento dalla CLI

Puoi automatizzare gli aggiornamenti all'interno la tua infrastruttura utilizzando la CLI di DigitalOcean, Doctl. Assicurati di avere Doctl installato e connesso al tuo account.

Per prima cosa ottieni i dettagli del tuo cluster:

elenco cluster doctl kubernetes

Questo comando visualizza tutti i tuoi cluster. Annotare l'ID del cluster che si desidera aggiornare.

Successivamente, trova le versioni di Kubernetes a cui il tuo cluster può migrare:

doctl kubernetes cluster get-upgrades <ID> Annuncio


Sostituisci <ID> con l'ID cluster annotato in precedenza. Ora che conosci le versioni che puoi utilizzare, esegui il comando upgrade per avviare la patch:

doctl kubernetes cluster upgrade <ID> –version 1.20.8

Se vuoi passare direttamente all'ultima versione, puoi omettere il flag –version.

Il completamento del processo di aggiornamento potrebbe richiedere diversi minuti, proprio come un'installazione avviato tramite l'interfaccia utente web.

Aggiornamenti Surge

L'aggiornamento di un cluster con un singolo nodo utilizzato per causare tempi di inattività. I nodi vengono sostituiti con nuove istanze durante il processo di aggiornamento, quindi ci sarebbe un periodo in cui i tuoi carichi di lavoro sono andati offline. Quando il tuo cluster ha più nodi, lo scheduler Kubernetes sposterà i pod da ogni nodo di aggiornamento per mantenere la disponibilità. Potresti comunque riscontrare tempi di inattività se la capacità del tuo cluster non è in grado di supportare tutti i tuoi carichi di lavoro durante l'esecuzione di “un nodo inattivo.

I Surge Upgrade sono una funzionalità opzionale che ti consente di garantire la disponibilità durante gli aggiornamenti, anche su cluster a nodo singolo. Quando Surge Upgrade sono attivi, DigitalOcean avvierà nodi di lavoro aggiuntivi prima dell'installazione della patch. I pod verranno spostati sul “surge” nodi durante il completamento dell'aggiornamento del cluster.

Un massimo di 10 nodi di sovratensione verranno aggiunti al tuo account. Questi saranno fatturati alla normale tariffa droplet. Per la maggior parte dei cluster, l'impatto sui costi dovrebbe essere trascurabile, poiché le gocce extra vivranno solo per la durata dell'aggiornamento.

Pubblicità

Puoi attivare i Surge Upgrade nella pagina delle impostazioni del tuo cluster. Una volta accesi, verranno utilizzati per tutti gli aggiornamenti futuri, sia automatici che manuali. L'opzione Surge Upgrades viene mostrata anche nella richiesta di conferma quando stai per iniziare un aggiornamento manuale.

Conclusione

Hai diverse opzioni per l'aggiornamento dei cluster DigitalOcean Kubernetes. Di solito è meglio lasciare che gli aggiornamenti delle patch vengano applicati automaticamente, mentre le versioni minori possono essere automatizzate o installate manualmente con il Cloud Control Panel o Doctl.

Gli aggiornamenti non dovrebbero causare tempi di inattività per il tuo utenti a condizione che tu abbia abilitato gli aggiornamenti Surge. DigitalOcean creerà automaticamente nuovi nodi di lavoro per mantenere la disponibilità del servizio mentre i nodi principali vengono aggiornati. Se non utilizzi Surge Upgrade, potresti riscontrare tempi di inattività se utilizzi un cluster a nodo singolo o se la capacità è insufficiente poiché ogni nodo non è più disponibile per essere aggiornato.