"Panoramica delle funzionalità di Kubespray": la differenza tra la versione originale e il nostro fork

Il 23 settembre, alle 20.00 ora di Mosca, Sergey Bondarev terrà un webinar gratuito “Panoramica delle funzionalità di Kubespray", dove ti spiegherà come preparare kubespray in modo che risulti rapido, efficiente e con tolleranza ai guasti.

Sergey Bondarev ti dirà la differenza tra la versione originale e la nostra forcella:

"Panoramica delle funzionalità di Kubespray": la differenza tra la versione originale e il nostro fork

La differenza tra la versione originale e la nostra forcella.

Coloro che hanno già incontrato cubespray probabilmente ora si chiederanno perché sto contrapponendo kubeadm a cubespray, perché cubespray per creare un cluster chiama kubeadm e a prima vista sembra uno script per l'installazione di pacchetti e l'avvio automatizzato.

Ma non è sempre stato così; inizialmente cubespray installava tutti i componenti in modo indipendente:

  • cluster etcd assemblato;
  • cubelet installati, certificati generati, configurazioni e token di accesso per pod del piano di controllo statico e altri componenti del servizio;
  • ha creato account di servizio per i nodi di lavoro e li ha collegati al cluster.

Ma due anni fa hanno eliminato questa funzionalità, lasciando solo kubadm. Il che all'epoca non era molto bello. Mi sono sentito offeso e ho realizzato il mio fork, in cui ho mantenuto la modalità di installazione classica, e infatti ora mantengo aggiornato questo fork, selezionando personalmente i commit dall'originale cubespray. Lungo la strada, completando la modalità classica per nuove modifiche.

Di conseguenza, la differenza tra i cluster creati dal mio fork e quello originale è il proxy kube e il periodo di validità dei certificati.

Nel mio fork tutto rimane come prima: il proxy cube viene avviato come pod statico, i certificati vengono emessi per 100 anni.

In Kubeadm, il cubo proxy viene avviato come daemonset e i certificati vengono emessi per 1 anno e devono essere rinnovati periodicamente. kubeadm ha finalmente imparato come farlo con un comando.

La differenza è piccola e oggi utilizziamo entrambe le opzioni.

Caratteristiche (svantaggi) durante il funzionamento industriale:

La sceneggiatura è universale, quindi non è molto veloce. Puoi velocizzare notevolmente il tuo eliminando i controlli e avviando da un'immagine già pronta.

La sceneggiatura è complessa, ci sono luoghi illogici, un'eredità pesante. Installazione di ulteriori controller e software tramite cubespray: ottimo per formazione e test. Al ballo di fine anno. Per il funzionamento, dipendere da un cubespray non è un'idea molto valida, inoltre l'aggiornamento del software viene implementato utilizzando il metodo "kill it and make a new one" - che significa un'interruzione del servizio.

È possibile aggiungere solo nodi di lavoro, con i master ci sono alcune sfumature con i certificati e lo script non gestisce tutti i possibili problemi che potrebbero sorgere.

Ad esempio, ho avuto un problema con kubeadm quando si è bloccato durante l'aggiunta del secondo e del terzo master, dopodiché cubespray ha ripristinato kubeadm sul nodo e ha provato ad aggiungere nuovamente il master.

L'unico problema era che al momento dell'errore, la seconda istanza etcd era già riuscita a registrarsi e, poiché anch'essa era stata cancellata dopo il ripristino, ci siamo ritrovati con un incubo: un cluster etcd di due nodi, uno dei quali era cancellato e il secondo non accetta più clienti. Di conseguenza, l'ammasso morì senza nascere.

Opensource così com'è.

Tutto questo e molto altro nel webinar gratuito"Panoramica delle funzionalità di Kubespray» 23 settembre, 20.00:XNUMX ora di Mosca.

Unisciti ora!

Fonte: habr.com

Aggiungi un commento