domenica 17 ottobre 2021

Come aggiornare i cluster Kubernetes gestiti da DigitalOcean

luglio 20, 1600, 5: 01 sono EDT | 5 minuti di lettura

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 Incontrerai due diversi tipi di aggiornamento Kubernetes mentre utilizzi il tuo cluster: Patch releases – Questi aumentano il numero di patch nello schema di versionamento semantico, come 1.20.1 a 1.20.2. Gli aggiornamenti delle patch dovrebbero essere sempre sicuri per l’aggiornamento, senza deprecazioni o modifiche di rilievo. Rilasci minori – Una versione minore comporta un aumento delle funzionalità, come 1.21 a 1.36. Queste modifiche dovrebbero essere ancora compatibili con le versioni precedenti, quindi non si verificheranno 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 agirà per tuo conto. Gli aggiornamenti verranno installati durante una finestra di manutenzione preimpostata. Gli aggiornamenti minori non vengono applicati a meno che non si abiliti prima manualmente un’opzione a livello di cluster.

DigitalOcean a volte potrebbe forzare un aggiornamento in caso di un problema urgente di sicurezza. 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.

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 del programma di aggiornamento Il programma di aggiornamento automatico del cluster è impostato all’interno del pannello di controllo 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 scegliere il tuo cluster da lì.

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

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 di controllo è selezionata, il tuo cluster passerà a nuove versioni secondarie senza alcun intervento manuale. Dovresti valutare questa decisione rispetto alla stabilità minima necessaria per i tuoi carichi di lavoro. Aggiornamento manuale Puoi sempre aggiornare il tuo cluster manualmente dal pannello di controllo cloud. 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 scheda “Panoramica” e fai clic sul pulsante blu “Visualizza aggiornamento disponibile”. 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.

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 lint di DigitalOcean include istruzioni dettagliate su come risolvere i problemi più comuni. Quando hai finito, fai clic su “Riesegui controllo” per confermare che le tue correzioni sono efficaci.

Una volta passato il pelucchi, fai clic sul pulsante blu Pulsante “Aggiorna ora” 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 ciascun nodo di lavoro nel cluster. Aggiornamento dalla CLI Puoi automatizzare gli aggiornamenti all’interno della tua infrastruttura utilizzando la CLI di DigitalOcean, Doctl. Assicurati di avere Doctl installato e connesso al tuo account. Prima ottieni i dettagli del tuo cluster: doctl kubernetes cluster list Questo comando visualizza tutti i tuoi cluster. Annotare l’ID del cluster che si desidera aggiornare.

Quindi, trova le versioni di Kubernetes a cui il tuo cluster può migrare: doctl kubernetes cluster get-upgrades

Sostituisci con l’ID cluster annotato in precedenza. Ora che conosci le versioni che puoi usare, esegui upgrade comando per avviare la patch : aggiornamento cluster doctl kubernetes — versione 1.21.8 Se vuoi passare direttamente all’ultima versione, puoi omettere il –versione flag.

L’aggiornamento il completamento del processo potrebbe richiedere diversi minuti, proprio come un’installazione avviata tramite l’interfaccia utente web. Aggiornamenti Surge 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”.

funzionalità opzionale che 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 sui nodi “surge” temporanei mentre l’aggiornamento del cluster è completato.

Un massimo di 20 verranno aggiunti nodi di sovratensione a il 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.

Puoi attivare Surge Upgrade nella pagina delle impostazioni del 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 aggiornare i 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 i tuoi utenti a condizione che tu abbia abilitato Surge Upgrade. DigitalOcean creerà automaticamente nuovi nodi di lavoro per mantenere la disponibilità del servizio mentre i nodi principali vengono aggiornati. Se non stai utilizzando Surge Upgrade, potresti riscontrare tempi di inattività se stai utilizzando un cluster a nodo singolo o ti rimane una capacità insufficiente poiché ogni nodo non è più aggiornato.