Garden v0.10.0: Via tekkomputilo ne bezonas Kubernetes

Notu. transl.: Kun Kubernetes-entuziasmuloj de la projekto ĝardeno ni renkontis en lastatempa evento KubeCon Eŭropo 2019, kie ili faris agrablan impreson al ni. Tiu ĉi ilia materialo, verkita pri aktuala teknika temo kaj kun rimarkinda sento de humuro, estas klara konfirmo pri tio, kaj tial ni decidis ĝin traduki.

Li parolas pri la ĉefa afero (de la sama nomo) produkto firmao, kies ideo estas aŭtomatigi laborfluojn kaj simpligi aplikaĵan disvolviĝon en Kubernetes. Por fari tion, la ilo permesas vin facile (laŭvorte per unu komando) disfaldi novajn ŝanĝojn faritajn en la kodo al la dev-grupo, kaj ankaŭ provizas komunajn rimedojn/kaŝmemorojn por akceli la konstruadon kaj testadon de la kodo de la teamo. Antaŭ du semajnoj la Ĝardeno gastigis eldono 0.10.0, en kiu eblis uzi ne nur lokan Kubernetes-grupon, sed ankaŭ malproksiman: jen la evento, al kiu ĉi tiu artikolo estas dediĉita.

Mi plej ŝatata afero estas labori kun Kubernetes sur mia tekkomputilo. La "diristo" manĝas sian procesoron kaj baterion, igas malvarmigilojn turniĝi senhalte, kaj estas malfacile konservi.

Garden v0.10.0: Via tekkomputilo ne bezonas Kubernetes
Stokfotarto en temo por plia efiko

Minikube, speco, k3s, Docker Desktop, mikrok8s, ktp. - bonegaj iloj kreitaj por fari uzadon de Kubernetes kiel eble plej oportuna, kaj dankon al ili pro tio. Serioze. Sed kiel ajn vi rigardas ĝin, unu afero estas klara: Kubernetes ne taŭgas por funkcii sur mia tekkomputilo. Kaj la tekkomputilo mem ne estas desegnita por funkcii kun aro da ujoj disigitaj tra tavoloj de virtualaj maŝinoj. La kompatindulo provas sian eblon, sed klare ne ŝatas ĉi tiun agadon, montrante sian malkontenton pri la hurlado de la malvarmigiloj kaj provas bruligi liajn femurojn, kiam mi senpripense metis lin sur miajn genuojn.

Ni diru: tekkomputilo - tekkomputilo.

ĝardeno estas ilo por programistoj, kiu okupas la saman niĉon kiel Skaffold kaj Draft. Ĝi simpligas kaj akcelas la disvolviĝon kaj testadon de Kubernetes-aplikoj.

De la momento, kiam ni komencis labori pri Garden, antaŭ ĉirkaŭ 18 monatoj, ni sciis tion loka Disvolva sistemoj estas provizora solvo, do Ĝardeno konstruis signifan flekseblecon kaj solidan fundamenton.

Ni nun pretas subteni kaj lokajn kaj forajn mediojn de Kubernetes. Laboro fariĝis multe pli facila: muntado, deplojo kaj testado nun povas esti faritaj en fora areto.

Mallonge dirante:

Kun Garden v0.10, vi povas tute forgesi pri loka Kubernetes-grupo kaj ankoraŭ ricevi rapidan respondon al kodaj ŝanĝoj. Ĉio ĉi estas senpaga kaj malferma fonto.

Garden v0.10.0: Via tekkomputilo ne bezonas Kubernetes
Ĝuu la saman sperton tra lokaj kaj malproksimaj medioj

Ricevis vian atenton?

Kaj mi ĝojas pri tio, ĉar ni havas multajn pli interesajn funkciojn! La ĝenerala uzo de dev-grupoj havas pli larĝajn implicojn, precipe por kunlaboraj teamoj kaj CI-duktoj.

Kiel?

Antaŭ ĉio, la intra-areta kolektanto - ĉu ĝi estas norma Docker-demono aŭ Kaniko - same kiel la intra-areta registro estas kunhavataj. por la tuta areto. Via teamo povas dividi dev-grupon, kun konstruaj kaŝmemoroj kaj bildoj disponeblaj por ĉiuj programistoj. Ĉar Ĝardeno etikedas bildojn bazitajn sur fontaj haŝoj, etikedoj kaj tavoloj estas difinitaj unike kaj konsekvence.

Ĉi tio signifas, ke post kiam programisto kreas bildon, ĝi fariĝas disponebla por la tuta teamo. Tago post tago, ni elŝutas la samajn bazajn bildojn kaj faras la samajn konstruojn sur niaj komputiloj. Ĉu vi scivolas kiom da trafiko kaj elektro estas malŝparita?...

La samon oni povas diri pri testoj: iliaj rezultoj estas disponeblaj por la tuta areto kaj ĉiuj teamanoj. Se unu el la programistoj provis certan version de la kodo, ne necesas refari la saman teston.

Alivorte, ne temas nur pri ne funkcii minikube. Ĉi tiu salto malfermas la vojon al via teamo multaj Optimumigaj ŝancoj - ne plu nenecesaj konstruoj kaj provoj!

Kio pri CI?

Plej multaj el ni kutimas, ke CI kaj loka dev estas du apartaj mondoj, kiujn oni devas agordi aparte (kaj ili ne dividas kaŝmemoron). Nun vi povas kombini ilin kaj forigi la troon:

Vi povas plenumi la samajn komandojn en CI kaj en la evoluprocezo, siavice uzu ununuran medion, kaŝmemorojn kaj testrezultojn.

Esence, via CI fariĝas programisto bot laboranta en la sama medio kiel vi.

Garden v0.10.0: Via tekkomputilo ne bezonas Kubernetes
Sistemelementoj; senjunta disvolviĝo kaj testado

CI-dukto-agordoj povas esti signife simpligitaj. Por fari tion, simple rulu Garden de CI por konstruoj, testoj kaj deplojoj. Ĉar vi kaj la CI uzas la saman medion, vi multe malpli verŝajne renkontos CI problemojn.

Fosi tra sennombraj linioj de agordoj kaj skriptoj, poste puŝado, atendado, esperanto kaj senfinaj ripetoj... Ĉio ĉi estas en la pasinteco. Vi nur faras evoluon. Neniuj nenecesaj movoj.

Kaj por fine klarigi la situacion: kiam vi aŭ alia grupano konstruis aŭ provis ion kun Garden, la sama afero okazis por CI. Se vi nenion ŝanĝis de kiam la testo funkcias, tiam vi ne bezonas fari testojn (aŭ eĉ konstruojn) por CI. Garden faras ĉion mem kaj poste transiras al aliaj taskoj kiel organizi la antaŭ-lanĉan medion, puŝi artefaktojn, ktp.

Sonas tenta. Kiel provi?

Bonvenon al la nia GitHub-deponejo! Instalu Garden kaj ludu kun la ekzemploj. Por tiuj, kiuj jam uzas Ĝardenon aŭ volas pli bone koni ĝin, ni proponas Fora Kubernetes Gvidilo. Aliĝu al ni en la kanalo #ĝardeno en Kubernetes Slack, se vi havas demandojn, problemojn aŭ nur volas babili. Ni ĉiam pretas helpi kaj bonvenigi komentojn de uzantoj.

PS de tradukisto

Baldaŭ ni publikigos ankaŭ recenzon pri utilaj utilecoj por programistoj de aplikaĵoj funkcianta en Kubernetes, kiu inkluzivas aliajn interesajn projektojn krom Ĝardeno... Intertempe legu ankaŭ en nia blogo:

fonto: www.habr.com

Aldoni komenton