‫CRD e il modello Operatore.
‫È qui che le cose iniziano a diventare davvero
‫interessanti con Kubernetes. Perché quando iniziamo ad
‫aggiungere tutti questi strumenti di terze parti e ci sono
‫tutte queste API in Kubernetes per estenderlo.
‫Kubernetes stessa diventa la propria piattaforma per farti fare cose che
‫non è mai stato progettato per fare o che non
‫hai mai pensato di poter fare.
‫Prima di tutto, se non ti sei reso conto finora
‫in questo corso, puoi aggiungere materiale di terze parti a Kubernetes.
‫Non utilizza solo l'API Kubernetes.
‫Ora, con risorse personalizzate e controller personalizzati,
‫puoi modificare l'API.
‫Puoi effettivamente utilizzare l'API
‫per estenderla. Quindi, anche kubectl, dalla
‫riga di comando, ottiene nuovi comandi e può vedere nuovi tipi
‫di risorse e nuovi controller. Alcuni anni fa, CoreOS
‫è uscito con un bell'articolo che parlava
‫del modello Operatore, che era il loro modo
‫di implementare insieme risorse personalizzate e
‫controller personalizzati in un modo che ti permettesse
‫di utilizzare essenzialmente software precedentemente complicati in
‫Kubernetes, ma che Kubernetes è consapevole di
‫quel software. Forse se
‫avessi un sistema di monitoraggio complesso
‫come Prometheus e volessi implementarlo, eseguirlo, tenerlo
‫aggiornato e fare semplicemente tutto ciò,
‫non volevi necessariamente imparare tutte le diverse
‫parti di esso e come funzionano in Kubernetes.
‫Alcuni potrebbero aver bisogno di StatefulSet.
‫Alcuni potrebbero aver bisogno di implementazioni e servizi.
‫Alcuni potrebbero aver bisogno di una sorta di cron job al suo interno.
‫Voglio dire, ci sono tutti questi diversi tipi di risorse di
‫cui potrebbe aver bisogno per avere una soluzione di
‫monitoraggio perfettamente funzionante.
‫Questo è solo un esempio.
‫Fondamentalmente, ora c'è tutto questo software che sta
‫adottando questo modello e implementando il proprio codice
‫personalizzato in Kubernetes per estenderlo.
‫In sostanza, ti dà i comandi di
‫kubectl per far funzionare quegli strumenti come se
‫facessero parte nativamente di Kubernetes.
‫Questo sta accadendo per tutti i tipi di cose open source è che
‫puoi aggiungere queste cose in ... nelle risorse vedrai un mucchio di
‫elenchi e diversi siti web che puoi effettivamente
‫trovare queste cose.
‫Li consideri come file YAML davvero complessi
‫che non solo ti consentono di distribuire qualcosa e
‫poi semplicemente funzionano, ma in realtà ottengono
‫comandi e altre API che si
‫estendono da Kubernetes.
‫È un'area piuttosto eccitante perché è piuttosto nuova e sta
‫solo dimostrando come Kubernetes sta prendendo il controllo
‫di tutto. Non esiste alcun
‫limite a ciò che non può gestire e controllare.
‫Direi che ovviamente non vuoi aggiungere tutto qui
‫perché ognuno di questi aggiungerebbe le
‫proprie informazioni a Kubernetes nel database ETCD, estenderebbe l'API
‫e il piano di controllo e tutto il resto.
‫Potrebbe essere un'area
‫potenziale in cui se aggiungi troppo, finirai con
‫troppa complessità nel tuo sistema stesso.
‫In questo momento, almeno per cose come il
‫monitoraggio, i database, i backup e la registrazione, queste
‫sono le aree in cui mi concentrerei sul cercare
‫di ottenere distribuzioni di tipo CRD e
‫Operatore piuttosto che trovare un YAML che hai visto su
‫Internet e dicendo, voglio distribuire questo
‫con quel file YAML.
‫Questo gli dà più intelligenza.
‫Ci sono molte risorse su ognuna
‫di queste e, ovviamente, ognuna avrebbe un'implementazione e
‫un uso diversi. Consiglio vivamente di controllarli ora
‫che esistono.