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 тиркемелерин иштеп чыгууну жана сыноону жөнөкөйлөтөт жана тездетет.

18 ай мурун, биз бакчада иштей баштаган учурдан тартып, биз муну билдик жергиликтүү Бөлүштүрүлгөн системаларды өнүктүрүү убактылуу чечим болуп саналат, ошондуктан Garden олуттуу ийкемдүүлүк жана бекем негиз менен курулган.

Биз азыр жергиликтүү жана алыскы Kubernetes чөйрөлөрүн колдоого даярбыз. Жумуш алда канча жеңилдеди: чогултуу, жайылтуу жана тестирлөө эми алыскы кластерде жүргүзүлүшү мүмкүн.

Кыскача айтканда:

Garden v0.10 менен сиз жергиликтүү Kubernetes кластерин толугу менен унутуп, коддун өзгөртүүлөрүнө тез жооп ала аласыз. Мунун баары бекер жана ачык булак.

Garden v0.10.0: Ноутбугуңузга Kubernetes керек эмес
Жергиликтүү жана алыскы чөйрөлөрдө бирдей тажрыйбадан ырахат алыңыз

Сиздин көңүлүңүз бурулдубу?

Мен буга кубанычтамын, анткени бизде дагы көптөгөн кызыктуу мүмкүнчүлүктөр бар! Өнүктүрүү кластерлерин жалпы колдонуу, айрыкча биргелешкен командалар жана CI түтүктөрү үчүн кеңири мааниге ээ.

Кантип?

Биринчиден, кластер ичиндеги коллектор - стандарттуу Docker демону же Kaniko - ошондой эле кластер ичиндеги реестр бөлүштүрүлөт. бүт кластер үчүн. Командаңыз бардык иштеп чыгуучуларга жеткиликтүү куруу кэштери жана сүрөттөрү менен иштеп чыгуучу кластерди бөлүшө алат. Garden теги булак хэштерине негизделген сүрөттөрдү койгондуктан, тэгдер жана катмарлар уникалдуу жана ырааттуу аныкталат.

Бул иштеп чыгуучу сүрөттү жараткандан кийин, ал болуп калат дегенди билдирет бүт команда үчүн жеткиликтүү. Күндөн күнгө биз ошол эле негизги сүрөттөрдү жүктөп алып, компьютерибизде ошол эле түзүлүштөрдү жасайбыз. Кызык, канча жол кыймылы, электр энергиясы текке кетип жатат?..

Тесттер жөнүндө да ушуну айтууга болот: алардын натыйжалары бардык кластерге жана команданын бардык мүчөлөрүнө жеткиликтүү. Эгерде иштеп чыгуучулардын бири коддун белгилүү бир версиясын сынап көргөн болсо, ошол эле тестти кайра иштетүүнүн кереги жок.

Башкача айтканда, бул жөн гана minikube иштетпөө маселеси эмес. Бул секирик сиздин командаңызга жол ачат көп оптималдаштыруу мүмкүнчүлүктөрү - ашыкча курулмалар жана сыноолор жок!

CI жөнүндө эмне айтууга болот?

Көпчүлүгүбүз CI жана жергиликтүү иштеп чыгуучу өзүнчө конфигурацияланышы керек болгон эки башка дүйнө экендигине көнүп калганбыз (жана алар кэш бөлүшпөйт). Эми сиз аларды бириктирип, ашыкчасынан арыла аласыз:

Ошол эле буйруктарды CIде жана иштеп чыгуу процессинде аткара аласыз, а также бирдиктүү чөйрөнү, кэштерди жана сыноо натыйжаларын колдонуңуз.

Негизи, сиздин CI сиз менен бир чөйрөдө иштеген иштеп чыгуучу ботко айланат.

Garden v0.10.0: Ноутбугуңузга Kubernetes керек эмес
Системанын элементтери; үзгүлтүксүз иштеп чыгуу жана сыноо

CI түтүк конфигурацияларын кыйла жөнөкөйлөштүрсө болот. Бул үчүн, жөн гана куруулар, сыноолор жана жайылтуулар үчүн CIден Garden иштетиңиз. Сиз жана CI бир чөйрөнү колдонуп жатканыңыздан улам, сиз CI көйгөйлөрүнө азыраак кабыласыз.

Конфигурациялардын жана скрипттердин сансыз саптарын казуу, андан кийин түртүү, күтүү, үмүт кылуу жана чексиз кайталоо... Мунун баары өткөндө. Сиз жөн гана өнүгүү менен алектенип жатасыз. Керексиз кыймылдар жок.

Жана акыры кырдаалды тактоо үчүн: сиз же башка команда мүчөсү Garden менен бир нерсени куруп же сынап көргөндө, CI үчүн да ушундай болгон. Эгер сиз тестирлөөдөн кийин эч нерсе өзгөрбөсөңүз, анда CI үчүн тесттерди (жада калса түзүүнү) иштетүүнүн кереги жок. Garden бардыгын өзү жасайт, андан кийин башка милдеттерге өтөт, мисалы, ишке киргизүүгө чейинки чөйрөнү уюштуруу, артефакттарды түртүү ж.б.

Азгыруучу угулат. Кантип аракет кылуу керек?

Кош келиңиздер биздин GitHub репозиторийибиз! Garden орнотуп, мисалдар менен ойноңуз. Буга чейин Garden колдонгондор же аны жакшыраак билгиси келгендер үчүн биз сунуштайбыз Remote Kubernetes Guide. Каналга кошулунуз #Кубернетес Слэктеги бакча, суроолоруңуз, көйгөйлөрүңүз болсо же жөн гана баарлашууну кааласаңыз. Биз ар дайым жардам берүүгө жана колдонуучулардын пикирлерин кабыл алууга даярбыз.

Котормочудан PS

Жакында биз ошондой эле Кубернетесте иштеген тиркемени иштеп чыгуучулар үчүн пайдалуу утилиталардын серепин жарыялайбыз, ал бакчадан тышкары башка кызыктуу долбоорлорду камтыйт... Ошол эле учурда, биздин блогубуздан дагы окуңуз:

Source: www.habr.com

Комментарий кошуу