Garden v0.10.0: laptopul nu are nevoie de Kubernetes

Notă. transl.: Cu entuziaștii Kubernetes din proiect Grădină ne-am întâlnit la un eveniment recent KubeCon Europe 2019, unde ne-au făcut o impresie plăcută. Acest material al lor, scris pe o temă tehnică actuală și cu un simț al umorului remarcabil, este o confirmare clară a acestui lucru și, prin urmare, am decis să-l traducem.

El vorbește despre lucrul principal (cu același nume) produs companie, a cărei idee este de a automatiza fluxurile de lucru și de a simplifica dezvoltarea aplicațiilor în Kubernetes. Pentru a face acest lucru, utilitarul vă permite să implementați cu ușurință (literal cu o singură comandă) noi modificări făcute în cod în clusterul de dezvoltare și, de asemenea, oferă resurse/cache-uri partajate pentru a accelera construirea și testarea codului de către echipă. Acum două săptămâni, Grădina a găzduit lansarea 0.10.0, în care a devenit posibil să se utilizeze nu numai un cluster Kubernetes local, ci și unul la distanță: acesta este evenimentul căruia îi este dedicat acest articol.

Cel mai puțin lucru preferat este să lucrez cu Kubernetes pe laptop. „Cirmaciul” își consumă procesorul și bateria, face ca răcitoarele să se rotească fără oprire și este greu de întreținut.

Garden v0.10.0: laptopul nu are nevoie de Kubernetes
Fotografie de stoc în temă pentru efect suplimentar

Minikube, kind, k3s, Docker Desktop, microk8s etc. - instrumente excelente create pentru a face utilizarea Kubernetes cât mai convenabilă posibil și le mulțumesc pentru asta. Serios. Dar indiferent de cum te uiți, un lucru este clar: Kubernetes nu este potrivit pentru a rula pe laptopul meu. Iar laptopul în sine nu este proiectat să funcționeze cu un grup de containere împrăștiate pe straturi de mașini virtuale. Bietul se străduiește din răsputeri, dar clar că nu-i place această activitate, arătându-și nemulțumirea față de urletul răcitoarelor și încercând să-i ardă coapsele când l-am pus nesăbuit în genunchi.

Să zicem: laptop - laptop.

Grădină este un instrument pentru dezvoltatori care ocupă aceeași nișă ca Skaffold și Draft. Simplifică și accelerează dezvoltarea și testarea aplicațiilor Kubernetes.

Din momentul în care am început să lucrăm la Garden, acum vreo 18 luni, știam asta local Dezvoltarea sistemelor distribuite este o soluție temporară, așa că Garden a construit o flexibilitate semnificativă și o bază solidă.

Acum suntem pregătiți să acceptăm mediile Kubernetes atât locale, cât și la distanță. Munca a devenit mult mai ușoară: asamblarea, implementarea și testarea pot fi acum efectuate într-un cluster la distanță.

Pe scurt:

Cu Garden v0.10, puteți uita complet de un cluster Kubernetes local și puteți primi un răspuns rapid la modificările codului. Toate acestea sunt gratuite și open source.

Garden v0.10.0: laptopul nu are nevoie de Kubernetes
Bucurați-vă de aceeași experiență în medii locale și îndepărtate

Ți-ai atras atenția?

Și mă bucur de asta, pentru că avem mult mai multe funcții interesante! Utilizarea generală a clusterelor de dezvoltare are implicații mai largi, în special pentru echipele de colaborare și conductele CI.

Cum așa?

În primul rând, colectorul intra-cluster - fie că este un demon Docker standard sau Kaniko - precum și registrul intra-cluster sunt partajate pentru întreg clusterul. Echipa ta poate partaja un cluster de dezvoltare, cu cache-uri de compilare și imagini disponibile pentru toți dezvoltatorii. Deoarece Garden etichetează imaginile pe baza hashurilor sursă, etichetele și straturile sunt definite în mod unic și consecvent.

Aceasta înseamnă că odată ce un dezvoltator creează o imagine, aceasta devine disponibil intregii echipe. Zi după zi, descarcăm aceleași imagini de bază și realizăm aceleași versiuni pe computerele noastre. Curios cât de mult trafic și energie electrică se irosește?...

Același lucru se poate spune despre teste: rezultatele acestora sunt disponibile pentru întregul cluster și pentru toți membrii echipei. Dacă unul dintre dezvoltatori a testat o anumită versiune a codului, nu este nevoie să rulați din nou același test.

Cu alte cuvinte, nu este vorba doar de a nu rula minikube. Acest salt deschide calea pentru echipa ta mulți oportunități de optimizare - gata de build-uri și teste inutile!

Dar CI?

Cei mai mulți dintre noi suntem obișnuiți cu faptul că CI și dezvoltarea locală sunt două lumi separate care trebuie configurate separat (și nu au în comun un cache). Acum le poți combina și scăpa de exces:

Puteți executa aceleași comenzi în CI și în procesul de dezvoltare, precum utilizați un singur mediu, cache-urile și rezultatele testelor.

În esență, CI dvs. devine un bot de dezvoltator care lucrează în același mediu ca și dvs.

Garden v0.10.0: laptopul nu are nevoie de Kubernetes
Elemente de sistem; dezvoltare și testare fără întreruperi

Configurațiile conductei CI pot fi simplificate semnificativ. Pentru a face acest lucru, trebuie doar să rulați Garden din CI pentru versiuni, teste și implementări. Deoarece dvs. și CI utilizați același mediu, este mult mai puțin probabil să întâlniți probleme CI.

Săpat prin nenumărate rânduri de configurații și scripturi, apoi împingere, așteptare, speranță și repetiții nesfârșite... Toate acestea sunt în trecut. Doar faci dezvoltare. Fără mișcări inutile.

Și pentru a clarifica în sfârșit situația: când tu sau un alt membru al echipei a construit sau a testat ceva cu Garden, același lucru sa întâmplat și cu CI. Dacă nu ați schimbat nimic de la rularea testului, atunci nu trebuie să rulați teste (sau chiar build-uri) pentru CI. Garden face totul singur și apoi trece la alte sarcini, cum ar fi organizarea mediului înainte de lansare, împingerea artefactelor etc.

Sună tentant. Cum sa incerc?

Bine ați venit la depozitul nostru GitHub! Instalați Garden și jucați-vă cu exemplele. Pentru cei care folosesc deja Garden sau doresc să o cunoască mai bine, oferim Ghid Kubernetes la distanță. Alăturați-vă nouă în canal #gradina in Kubernetes Slack, dacă aveți întrebări, probleme sau doriți doar să discutați. Suntem întotdeauna gata să ajutăm și să primim feedback de la utilizatori.

PS de la traducator

În curând vom publica și o recenzie a utilităților utile pentru dezvoltatorii de aplicații care operează în Kubernetes, care include și alte proiecte interesante pe lângă Garden... Între timp, citiți și pe blogul nostru:

Sursa: www.habr.com

Adauga un comentariu