Garden v0.10.0: Den bærbare datamaskinen din trenger ikke Kubernetes

Merk. overs.: Med Kubernetes-entusiaster fra prosjektet Hage vi møttes på et nylig arrangement KubeCon Europe 2019, hvor de gjorde et hyggelig inntrykk på oss. Dette materialet deres, skrevet om et aktuelt teknisk emne og med en merkbar sans for humor, er en klar bekreftelse på dette, og derfor bestemte vi oss for å oversette det.

Han snakker om det viktigste (med samme navn) produkt selskap, hvis idé er å automatisere arbeidsflyter og forenkle applikasjonsutvikling i Kubernetes. For å gjøre dette lar verktøyet deg enkelt (bokstavelig talt med én kommando) distribuere nye endringer som er gjort i koden til utviklerklyngen, og gir også delte ressurser/cacher for å fremskynde byggingen og testingen av koden av teamet. For to uker siden var Hagen vertskap utgivelse 0.10.0, der det ble mulig å bruke ikke bare en lokal Kubernetes-klynge, men også en ekstern: dette er hendelsen denne artikkelen er viet til.

Min minst favoritt ting å gjøre er å jobbe med Kubernetes på den bærbare datamaskinen min. «Rormannen» spiser opp prosessoren og batteriet, får kjølere til å snurre uten stans, og er vanskelig å vedlikeholde.

Garden v0.10.0: Den bærbare datamaskinen din trenger ikke Kubernetes
Arkivfotografering i tema for ekstra effekt

Minikube, kind, k3s, Docker Desktop, microk8s, etc. - Utmerkede verktøy laget for å gjøre bruken av Kubernetes så praktisk som mulig, og takk til dem for det. Alvor. Men uansett hvordan du ser på det, er en ting klar: Kubernetes egner seg ikke for å kjøre på min bærbare datamaskin. Og selve den bærbare datamaskinen er ikke designet for å fungere med en klynge av beholdere spredt over lag med virtuelle maskiner. Stakkaren prøver så godt han kan, men liker tydeligvis ikke denne aktiviteten, viser sin misnøye med hylingen fra kjølerne og prøver å brenne lårene hans når jeg uvørent legger ham på knærne.

La oss si: bærbar datamaskin - bærbar datamaskin.

Hage er et verktøy for utviklere som har samme nisje som Skaffold og Draft. Det forenkler og fremskynder utviklingen og testingen av Kubernetes-applikasjoner.

Fra det øyeblikket vi begynte å jobbe med Garden, for omtrent 18 måneder siden, visste vi det lokale Distribuert systemutvikling er en midlertidig løsning, så Garden bygget i betydelig fleksibilitet og et solid fundament.

Vi er nå klare til å støtte både lokale og eksterne Kubernetes-miljøer. Arbeidet har blitt mye enklere: montering, distribusjon og testing kan nå utføres i en ekstern klynge.

Kort oppsummert:

Med Garden v0.10 kan du helt glemme en lokal Kubernetes-klynge og fortsatt få rask respons på kodeendringer. Alt dette er gratis og åpen kildekode.

Garden v0.10.0: Den bærbare datamaskinen din trenger ikke Kubernetes
Nyt den samme opplevelsen på tvers av lokale og eksterne miljøer

Fikk du oppmerksomheten din?

Og jeg er glad for dette, fordi vi har mange flere interessante funksjoner! Den generelle bruken av utviklerklynger har bredere implikasjoner, spesielt for samarbeidsteam og CI-rørledninger.

Hvordan så?

Først av alt deles intra-klyngesamleren - det være seg en standard Docker-demon eller Kaniko - så vel som intra-klyngeregisteret for hele klyngen. Teamet ditt kan dele en utviklerklynge, med byggebuffere og bilder tilgjengelig for alle utviklere. Fordi Garden merker bilder basert på kildehasher, er tagger og lag definert unikt og konsekvent.

Dette betyr at når en utvikler oppretter et bilde, blir det det tilgjengelig for hele laget. Dag etter dag laster vi ned de samme grunnbildene og lager de samme byggene på datamaskinene våre. Lurer du på hvor mye trafikk og strøm som er bortkastet?

Det samme kan sies om tester: deres resultater er tilgjengelige for hele klyngen og alle teammedlemmer. Hvis en av utviklerne har testet en bestemt versjon av koden, er det ikke nødvendig å kjøre den samme testen på nytt.

Det er med andre ord ikke bare å la være å kjøre minikube. Dette spranget baner vei for laget ditt mange optimeringsmuligheter - ikke flere unødvendige bygg og testkjøringer!

Hva med CI?

De fleste av oss er vant til at CI og lokal utvikler er to separate verdener som må konfigureres separat (og de deler ikke en cache). Nå kan du kombinere dem og bli kvitt overskuddet:

Du kan utføre de samme kommandoene i CI og i utviklingsprosessen, samt bruke et enkelt miljø, cacher og testresultater.

I hovedsak blir CI en utviklerrobot som jobber i samme miljø som deg.

Garden v0.10.0: Den bærbare datamaskinen din trenger ikke Kubernetes
Systemelementer; sømløs utvikling og testing

CI-rørledningskonfigurasjoner kan forenkles betydelig. For å gjøre dette, bare kjør Garden fra CI for bygg, tester og distribusjoner. Siden du og CI bruker det samme miljøet, er det mye mindre sannsynlig at du støter på CI-problemer.

Grave gjennom utallige linjer med konfigurasjoner og skript, så skyve, vente, håpe og endeløse repetisjoner... Alt dette er i fortiden. Du driver bare med utvikling. Ingen unødvendige bevegelser.

Og for å avklare situasjonen til slutt: når du eller et annet teammedlem bygde eller testet noe med Garden, skjedde det samme for CI. Hvis du ikke har endret noe siden testkjøringen, trenger du ikke å kjøre tester (eller til og med builds) for CI. Garden gjør alt selv og går deretter videre til andre oppgaver som å organisere pre-lanseringsmiljøet, skyve gjenstander osv.

Høres fristende ut. Hvordan prøve?

Velkommen til GitHub-depotet vårt! Installer Garden og lek med eksemplene. For de som allerede bruker Garden eller ønsker å bli bedre kjent, tilbyr vi Ekstern Kubernetes-veiledning. Bli med oss ​​på kanalen #hage i Kubernetes Slack, hvis du har spørsmål, problemer eller bare vil chatte. Vi er alltid klare til å hjelpe og tar gjerne imot tilbakemeldinger fra brukere.

PS fra oversetter

Snart vil vi også publisere en anmeldelse av nyttige verktøy for applikasjonsutviklere som opererer i Kubernetes, som inkluderer andre interessante prosjekter i tillegg til Garden... I mellomtiden, les også på bloggen vår:

Kilde: www.habr.com

Legg til en kommentar