Kubernetes 1.17 — come aggiornarsi senza spendere tutto il budget per errori

Kubernetes 1.17 — come aggiornarsi senza spendere tutto il budget per errori

Il 9 dicembre è stata rilasciata un'altra versione di Kubernetes — 1.17. Il suo motto è «Stabilità», molte funzionalità hanno ricevuto lo stato GA, un certo numero di funzionalità obsolete è stato rimosso...

E, come sempre, la nostra sezione preferita, Azione richiesta, del file CHANGELOG-1.17.md richiede attenzione.

Lavoreremo a mano...

Attenzione, Storage!

L'aggiornamento di kubelet a caldo nella versione 1.17 non è supportato, perché è cambiato il percorso per i volumi di blocco. Prima di aggiornare il nodo è necessario evacuare tutti i pod usando il comando kubectl drain.

Flag e gate...

Nel changelog di solito si scrive che è stato rimosso o aggiunto un certo flag o feature gate, ma per qualche motivo non si menziona mai l'applicazione in cui si è verificata questa modifica...

  • Rimosso il flag --include-uninitialized a kubectl;
  • Funzionalità consentite dai feature gates GCERegionalPersistentDisk, EnableAggregatedDiscoveryTimeout e PersistentLocalVolumes, ora è sempre utilizzato e non può essere disattivato. Queste opzioni sono state rimosse dalle possibili chiavi api-server e controller-manager;
  • La rete degli indirizzi IP per i servizi ora non viene assegnata di default. È necessario specificarla con il flag --service-cluster-ip-range al momento dell'avvio di API server e controller-manager.

kubeadm

  • Kubeadm ha imparato a configurare l'aggiornamento automatico dei certificati per kubelet su tutti i nodi del cluster, incluso il primo master, dove è stato eseguito il comando kubeadm init. Un effetto collaterale è stata la necessità di avere un file di configurazione iniziale di kubelet bootstrap-kubelet.conf anziché kubelet.conf durante l'esecuzione kubeadm init;
  • Quando si aggiungono modalità di autorizzazione in API server kubeadm non include più le modalità Node, RBAC nel manifesto del pod statico, permettendo di cambiare completamente la configurazione.

RBAC

Rimosse le cluster role incorporate system:csi-external-provisioner e system:csi-external-attacher.

Obsoleto…

Un certo numero di funzionalità è stato dichiarato obsoleto, ma continua a essere supportato. È particolarmente importante notare il passaggio all'utilizzo di ContainerStorageInterface. Gli amministratori che hanno distribuito cluster propri (non gestiti) in AWS e GCE devono pianificare il passaggio all'uso del CSI Driver per lavorare con i volumi persistenti, invece dei driver integrati in Kubernetes. A questo dovrebbero aiutarli la procedura CSIMigration - aspettiamo la pubblicazione di una guida passo-passo. Gli amministratori che utilizzano altri fornitori per collegare dischi persistenti dovrebbero ora cercare e leggere la documentazione: nella versione 1.21 promettono di rimuovere definitivamente tutti i driver integrati.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster