Șabloanele sunt indispensabile pentru automatizarea bazată pe GitOps

Publicat: 2022-05-27

Cuprins

Automatizare bazată pe GitOps

Kubernetes a devenit faimos pentru ușurința sa de scalare și de administrare a aplicațiilor containerizate. Vă permite să sortați și să gestionați noduri, bucăți, containere, servicii și hărți de configurare pe parcursul întregului ciclu de viață al aplicației. A fost dificil să obții o asemenea flexibilitate și control prin intermediul scripturilor.

Dar datorită abordării de anunț a Kubernets cu privire la infrastructură, puteți defini modificări de precizie la orice nivel. Kubernetes vă permite să integrați mai multe instrumente pentru a facilita planificarea, implementarea și monitorizarea automată a containerelor.

Un astfel de instrument este Helm, un cadru de automatizare adoptat de CNCF care a devenit popular nu numai în cercurile Kubernetes, ci și în ecosistemul GitOps. În această postare, vom analiza modul în care Helm ajută la automatizarea aplicațiilor native din cloud prin Kubernetes și GitOps.

Ce este Helm?

Deși este descris ca un manager de pachete, Helm este un instrument puternic pentru automatizarea instalării, implementării, upgrade-ului și gestionării aplicațiilor Kubernetes. Gestionarea Manifestului Kubernetes este o sarcină care devine din ce în ce mai complexă între sisteme. Pentru un singur sortare sunt necesare mai multe fișiere YAML duplicate și valorile hardcode. Kubernetes avea nevoie de o modalitate mai bună de a gestiona fișierele YAML printr-un format simplu de ambalare, care a condus la diagrame de conducere. Cu toate acestea, scopul Helm este dincolo de șablon.

Diagrame

Diagramele Helm sunt unități care pot fi utilizate pentru aplicațiile Kubernetes. Fiecare diagramă poate conține fișiere, metadate și infrastructură de aplicații. Diagramele scrise în Go vor fi stocate în directoare de șabloane specifice, cu variabile, versiuni și descrieri asociate. Stocând aceste diagrame ca arhive într-un depozit, le puteți partaja întregii echipe de dezvoltare pentru reutilizare.

Odată ce o copie a unei diagrame este instalată în cluster-ul Kubernetes, aceasta se numește ieșire. O nouă ediție este creată de fiecare dată când este utilizată diagrama, ceea ce se poate întâmpla de mai multe ori. Publicațiile vă ajută să monitorizați și să instalați diagrame.

Mai jos sunt câteva reguli importante de știut atunci când lucrați cu Helm.

Chart.YAML: fișierul principal care conține descrierea diagramei dvs

Values.YAML: Fișierul care conține valorile implicite ale diagramei dvs

Diagrame: un director cu diagrame secundare

Șabloane: Directorul de surse Kubernetes definit ca șabloane

Șabloane

Un folder șablon este o caracteristică cheie a Helm. Conține fișierele de configurare ale aplicației, care sunt apoi aplicate clusterului. Fișierele din directorul șabloanelor își numesc valorile din values.YAML.

De ce Helm?

Helm adaugă o mare valoare mediului de livrare continuă, deoarece aduce următoarele beneficii.

Productivitate îmbunătățită:

Helm (împreună cu alte instrumente de sortare, cum ar fi Flux) vă permite să sortați software-ul cu un singur buton sau o singură comandă. Acest lucru va permite echipei dvs. să se concentreze numai pe dezvoltarea de software.

Ușurează procesul:

Conceptul de diagrame vă permite să copiați aceeași diagramă de-a lungul conductei - dezvoltare, testare și producție - sau în fluxul de lucru al diferitelor echipe. Acest lucru reduce semnificativ problema.

Măsurare:

Diagramele sunt concepute pentru a se alinia cu arhitectura clusterului Kubernetes, ceea ce facilitează scalabilitatea.

Retragere ușoară:

Helm gestionează toate versiunile, facilitând obținerea modificărilor atunci când apar probleme.

GitOps folosește atât Helm, cât și Flux

Helm poate gestiona versiuni complexe și poate menține lucrurile simple pe măsură ce măsurați. Cu toate acestea, pe măsură ce modificările sunt introduse treptat, Helm va avea nevoie de instrumente suplimentare pentru a actualiza clusterul Kubernetes.

Flux este o soluție de umplere excelentă pentru Helm, deoarece acționează ca o punte între Helm și toate depozitele importante Git din care sunt definite întregul cluster Kubernetes și specificațiile utilitarului.

Flux este o soluție de automatizare a implementării bazată pe modelul GitOps, ceea ce face din Git punctul de plecare și sursa reală a tuturor modificărilor. Flux vă permite să mențineți consistența între depozitele de cod și clusterele Kubernetes și automatizează sortarea atunci când sunt introduse modificări de cod.

Pe scurt, Flux Helm automatizează lansările de diagrame prin sincronizarea diagramelor din Git cu clusterul Kubernetes.

Cum funcționează Flux cu Helm?

Pentru a utiliza Flux ca operator GitOps, salvați toate diagramele Helm împreună cu fișierele lor YAML și resursele personalizate Kubernetes în depozitul Git. De asemenea, puneți imagini neschimbate ale acestor surse într-un registru de containere.

Odată ce ați făcut o modificare în Git cu cererea „Pull”, Flux vă va verifica depozitul și va furniza resursele necesare. Schimbările sunt apoi încorporate în clusterul de producție. Acest lucru, desigur, simplifică procesul și puteți face mult mai mult – cum ar fi testele de fumat sau aprobarea modificărilor specifice SRE – dar deocamdată, să rămânem simplu.

Dacă doriți să aflați mai multe despre modul în care Flux 2 și Helm lucrează împreună pentru a crește viteza și fiabilitatea, reducând în același timp timpul de inactivitate, consultați această discuție pe YouTube a lui Scott Rigby.

Concluzie

Helm reduce semnificativ dificultatea de a rula Kubernetes. Acesta adaugă o mare valoare conductei GitOps cu conceptul de diagrame sau șabloane. Acestea fiind spuse, există și alte cerințe dincolo de șabloane, și anume automatizarea implementării end-to-end. Aici este nevoie de un instrument precum Flux (sau Weave GitOps, încorporat în Flux) pentru a utiliza cârma. În plus, soluția asemănătoare Magalix asigură că lansările Helm sunt compatibile și sigure.

Weave KitApps este o soluție de livrare continuă care vă permite să gestionați Kubernetes la scară. Acest lucru face ușor pentru orice companie să adopte și să implementeze GitOps. Weave GitOps simplifică clusterul funcțional cu comenzi precum „gitops install” pentru a activa GitOps și „gitops add app” pentru a le adăuga la aplicația dvs. Aceste comenzi abstrag sarcinile complexe subiacente care altfel sunt implicate în automatizarea implementării. Weave GitOps reunește întregul pipeline GitOps, inclusiv Helm, Flux, Magalix și multe altele, astfel încât să puteți începe să utilizați GitOps fără să pierdeți timp.

cum-deveniți-un-vânzător-amazon-în-pași-ușori

digital-marketing-pentru-catering