I modelli sono indispensabili per l'automazione basata su GitOps
Pubblicato: 2022-05-27Sommario
Automazione basata su GitOps
Kubernetes è diventato famoso per la sua facilità di ridimensionamento e amministrazione di applicazioni containerizzate. Consente di ordinare e gestire nodi, pezzi, contenitori, servizi e mappe di configurazione durante l'intero ciclo di vita dell'applicazione. È stato difficile ottenere una tale flessibilità e controllo attraverso gli script.
Ma grazie all'approccio dell'annuncio di Kubernets all'infrastruttura, puoi definire modifiche di precisione a qualsiasi livello. Kubernetes ti consente di integrare più strumenti per facilitare la pianificazione, la distribuzione e il monitoraggio automatizzati per i container.
Uno di questi strumenti è Helm, un framework di automazione adottato da CNCF che è diventato popolare non solo nei circoli Kubernetes ma anche nell'ecosistema GitOps. In questo post, vedremo come Helm aiuta ad automatizzare le applicazioni cloud-native tramite Kubernetes e GitOps.
Cos'è Helm?
Sebbene descritto come un gestore di pacchetti, Helm è un potente strumento per automatizzare l'installazione, la distribuzione, l'aggiornamento e la gestione delle applicazioni Kubernetes. La gestione del Manifesto di Kubernetes è un compito che sta diventando sempre più complesso in tutti i sistemi. Per un singolo ordinamento sono necessari più file YAML e valori hardcode duplicati. Kubernetes aveva bisogno di un modo migliore per gestire i file YAML attraverso un semplice formato di imballaggio, che portava ai grafici del timone. Tuttavia, lo scopo dell'Elmo va oltre il modello.
Grafici
I grafici Helm sono unità che possono essere utilizzate per le applicazioni Kubernetes. Ogni grafico può contenere file, metadati e infrastruttura dell'applicazione. I grafici scritti in Go verranno archiviati in directory di modelli specifici con variabili, versioni e descrizioni associate. Archiviando questi grafici come archivi in un repository, puoi condividerli con il tuo team di sviluppo per il riutilizzo.
Una volta installata una copia di un grafico nel cluster Kubernetes, viene chiamata output. Una nuova versione viene creata ogni volta che viene utilizzato il grafico, il che può verificarsi più volte. Le pubblicazioni aiutano a monitorare e installare i grafici.
Di seguito sono riportate alcune regole importanti da sapere quando si lavora con Helm.
Chart.YAML: il file principale che contiene la descrizione del tuo grafico
Values.YAML: il file contenente i valori predefiniti del tuo grafico
Grafici: una directory con sottografici
Modelli: Directory delle sorgenti di Kubernetes definita come modelli
Modelli
Una cartella modello è una caratteristica fondamentale di Helm. Contiene i file di configurazione dell'applicazione, che vengono quindi applicati al cluster. I file nella directory del modello chiamano i loro valori da values.YAML.

Perché Helm?
Helm aggiunge un grande valore all'ambiente di consegna continua in quanto offre i seguenti vantaggi.
Produttività migliorata:
Helm (insieme ad altri strumenti di ordinamento come Flux) ti consente di ordinare il software con un solo pulsante o un singolo comando. Ciò consentirà al tuo team di concentrarsi solo sullo sviluppo del software.
Semplifica il processo:
Il concetto di grafici consente di copiare lo stesso grafico nella pipeline (sviluppo, test e produzione) o nel flusso di lavoro di diversi team. Questo riduce notevolmente il problema.
Misura:
I grafici sono progettati per allinearsi con l'architettura del cluster Kubernetes, che facilita la scalabilità.
Ritiro facile:
Helm gestisce tutte le versioni, semplificando l'ottenimento delle modifiche in caso di problemi.
GitOps sfrutta sia Helm che Flux
Helm può gestire rilasci complessi e mantenere le cose semplici mentre misuri. Tuttavia, man mano che le modifiche vengono introdotte gradualmente, Helm avrà bisogno di strumenti aggiuntivi per aggiornare il cluster Kubernetes.
Flux è un'eccellente soluzione di riempimento per Helm perché funge da ponte tra Helm e tutti gli importanti repository Git da cui vengono definiti l'intero cluster Kubernetes e le specifiche dell'utilità.
Flux è una soluzione di automazione della distribuzione basata sul modello GitOps, che fa di Git il punto di partenza e la vera fonte di tutte le modifiche. Flux ti consente di mantenere la coerenza tra i repository di codice e i cluster Kubernetes e automatizza l'ordinamento quando vengono introdotte modifiche al codice.
In breve, Flux Helm automatizza i rilasci dei grafici sincronizzando i grafici da Git al cluster Kubernetes.
Come funziona Flux con Helm?
Per utilizzare Flux come operatore GitOps, salva tutti i grafici Helm insieme ai relativi file YAML e alle risorse personalizzate Kubernetes nel repository Git. Inoltre, metti le immagini invariate di queste origini in un registro contenitori.
Dopo aver apportato una modifica a Git con la richiesta "Pull", Flux controllerà il tuo repository e fornirà le risorse necessarie. Le modifiche vengono quindi incorporate nel cluster di produzione. Questo, ovviamente, semplifica il processo e puoi fare molto di più, come i test del fumo o l'approvazione di modifiche specifiche per SRE, ma per ora manteniamo le cose semplici.
Se vuoi saperne di più su come Flux 2 e Helm lavorano insieme per aumentare la velocità e l'affidabilità riducendo i tempi di inattività, dai un'occhiata a questo discorso su YouTube di Scott Rigby.
Conclusione
Helm riduce significativamente la difficoltà nell'esecuzione di Kubernetes. Aggiunge un grande valore alla pipeline GitOps con il concetto di grafici o modelli. Detto questo, ci sono altri requisiti oltre alla creazione di modelli, vale a dire l'automazione della distribuzione end-to-end. È qui che è necessario uno strumento come Flux (o Weave GitOps, integrato in Flux) per utilizzare il timone. Inoltre, la soluzione simile a Magalix garantisce che le versioni Helm siano compatibili e sicure.
Weave KitApps è una soluzione di distribuzione continua che ti consente di gestire Kubernetes su larga scala. Ciò semplifica l'adozione e l'implementazione di GitOps da parte di qualsiasi azienda. Weave GitOps semplifica il cluster funzionale con comandi come "gitops install" per abilitare GitOps e "gitops add app" da aggiungere alla tua applicazione. Questi comandi astraggono le complesse attività sottostanti che sono altrimenti coinvolte nell'automazione della distribuzione. Weave GitOps riunisce l'intera pipeline GitOps, inclusi Helm, Flux, Magalix e altro, così puoi iniziare con GitOps senza perdere tempo.
come-diventare-un-venditore-amazon-in-facili-passi
marketing digitale per la ristorazione