Garden v0.10.0: Вашият лаптоп не се нуждае от Kubernetes

Забележка. превод: С ентусиасти на Kubernetes от проекта Градина срещнахме се на скорошно събитие KubeCon Europe 2019, където ни направиха приятно впечатление. Този техен материал, написан на актуална техническа тема и със забележимо чувство за хумор, е ярко потвърждение за това и затова решихме да го преведем.

Той говори за основното (със същото име) продукт компания, чиято идея е да автоматизира работните процеси и да опрости разработката на приложения в Kubernetes. За да направите това, помощната програма ви позволява лесно (буквално с една команда) да внедрите нови промени, направени в кода в клъстера за разработка, и също така предоставя споделени ресурси/кешове, за да ускорите изграждането и тестването на кода от екипа. Преди две седмици Градината беше домакин версия 0.10.0, в който стана възможно да се използва не само локален клъстер Kubernetes, но и отдалечен: това е събитието, на което е посветена тази статия.

Най-малко любимото ми нещо е да работя с Kubernetes на моя лаптоп. "Кормчия" му изяжда процесора и батерията, кара охладителите да се въртят нонстоп и е труден за поддръжка.

Garden v0.10.0: Вашият лаптоп не се нуждае от Kubernetes
Стокова фотография в темата за допълнителен ефект

Minikube, kind, k3s, Docker Desktop, microk8s и др. - отлични инструменти, създадени да направят използването на Kubernetes възможно най-удобно и им благодаря за това. Сериозно. Но както и да го погледнете, едно е ясно: Kubernetes не е подходящ за работа на моя лаптоп. А самият лаптоп не е проектиран да работи с клъстер от контейнери, разпръснати в слоеве от виртуални машини. Горкият се старае, но явно не харесва това занимание, показвайки недоволството си с воя на охладителите и опитвайки се да опари бедрата си, когато безразсъдно го сложих на колене.

Да кажем: лаптоп - лаптоп.

Градина е инструмент за разработчици, който заема същата ниша като Skaffold и Draft. Той опростява и ускорява разработката и тестването на приложения на Kubernetes.

От момента, в който започнахме да работим върху Garden, преди около 18 месеца, знаехме това местен Разработването на разпределени системи е временно решение, така че Garden изгради значителна гъвкавост и солидна основа.

Вече сме готови да поддържаме както локални, така и отдалечени среди на Kubernetes. Работата стана много по-лесна: асемблирането, внедряването и тестването вече могат да се извършват в отдалечен клъстер.

Накратко:

С Garden v0.10 можете напълно да забравите за локален клъстер на Kubernetes и пак да получавате бърз отговор на промени в кода. Всичко това е безплатно и с отворен код.

Garden v0.10.0: Вашият лаптоп не се нуждае от Kubernetes
Насладете се на едно и също изживяване в местни и отдалечени среди

Привлече вниманието ви?

И се радвам за това, защото имаме още много интересни функции! Общото използване на клъстери за разработка има по-широки последици, особено за екипи за сътрудничество и CI тръбопроводи.

Как така?

На първо място, вътрешноклъстерният колектор - било то стандартен Docker демон или Kaniko - както и вътрешноклъстерният регистър се споделят за целия клъстер. Вашият екип може да споделя клъстер за разработчици с кешове за компилация и изображения, достъпни за всички разработчици. Тъй като Garden етикетира изображения въз основа на хешове на източника, таговете и слоевете се дефинират уникално и последователно.

Това означава, че след като разработчикът създаде изображение, то става на разположение на целия екип. Ден след ден изтегляме едни и същи базови изображения и правим едни и същи компилации на нашите компютри. Любопитно колко трафик и електричество се губят?..

Същото може да се каже и за тестовете: техните резултати са достъпни за целия клъстер и всички членове на екипа. Ако някой от разработчиците е тествал определена версия на кода, няма нужда да пускате отново същия тест.

С други думи, не става въпрос само за това, че не работи minikube. Този скок проправя пътя за вашия екип към много възможности за оптимизация - няма повече ненужни компилации и тестове!

Какво ще кажете за CI?

Повечето от нас са свикнали с факта, че CI и local dev са два отделни свята, които трябва да се конфигурират отделно (и те не споделят кеш). Сега можете да ги комбинирате и да се отървете от излишното:

Можете да изпълнявате същите команди в CI и в процеса на разработка, както и използвайте единна среда, кешове и резултати от тестове.

По същество вашият CI се превръща в бот за разработчици, работещ в същата среда като вас.

Garden v0.10.0: Вашият лаптоп не се нуждае от Kubernetes
Системни елементи; безпроблемно разработване и тестване

Конфигурациите на CI тръбопровода могат да бъдат значително опростени. За да направите това, просто стартирайте Garden от CI за компилации, тестове и внедрявания. Тъй като вие и CI използвате една и съща среда, е много по-малко вероятно да срещнете проблеми с CI.

Ровене в безброй редове от конфигурации и скриптове, после бутане, чакане, надежда и безкрайни повторения... Всичко това е в миналото. Вие просто се занимавате с развитие. Без излишни движения.

И накрая да изясним ситуацията: когато вие или друг член на екипа изградихте или тествахте нещо с Garden, същото се случи и за CI. Ако не сте променили нищо след тестовете, тогава не е необходимо да изпълнявате тестове (или дори компилации) за CI. Garden прави всичко сама и след това преминава към други задачи, като организиране на средата преди стартиране, натискане на артефакти и т.н.

Звучи примамливо. Как да пробвам?

Добре дошли в нашето GitHub хранилище! Инсталирайте Garden и си поиграйте с примерите. За тези, които вече използват Garden или искат да го опознаят по-добре, предлагаме Отдалечено ръководство за Kubernetes. Присъединете се към нас в канала #градина в Kubernetes Slack, ако имате въпроси, проблеми или просто искате да поговорим. Винаги сме готови да помогнем и приветстваме обратната връзка от потребителите.

PS от преводача

Скоро ще публикуваме и преглед на полезни помощни програми за разработчици на приложения, работещи в Kubernetes, който включва други интересни проекти в допълнение към Garden... Междувременно прочетете и в нашия блог:

Източник: www.habr.com

Добавяне на нов коментар