Garden v0.10.0: Noutbukingizga Kubernetes kerak emas

Eslatma. tarjima.: Loyihadagi Kubernetes ishqibozlari bilan bog ' yaqinda bir tadbirda uchrashdik KubeCon Yevropa 2019, bu yerda ular bizda yoqimli taassurot qoldirdi. Ularning dolzarb texnik mavzuda va sezilarli hazil tuyg'usi bilan yozilgan ushbu materiali buning aniq tasdig'idir va shuning uchun biz uni tarjima qilishga qaror qildik.

U asosiy narsa haqida gapiradi (xuddi shu nomdagi) mahsulot g'oyasi ish oqimlarini avtomatlashtirish va Kubernetesda ilovalarni ishlab chiqishni soddalashtirish bo'lgan kompaniya. Buning uchun yordamchi dastur sizga kodda kiritilgan yangi o'zgarishlarni ishlab chiquvchi klasterga osongina (so'zma-so'z bitta buyruq bilan) joylashtirish imkonini beradi, shuningdek, jamoa tomonidan kodni yaratish va sinovdan o'tkazishni tezlashtirish uchun umumiy resurslar/keshlarni taqdim etadi. Ikki hafta oldin Bog' mezbonlik qildi 0.10.0 versiyasi, unda nafaqat mahalliy Kubernetes klasteridan, balki uzoqdan ham foydalanish mumkin bo'ldi: ushbu maqola ushbu voqeaga bag'ishlangan.

Mening eng sevimli narsam - noutbukda Kubernetes bilan ishlash. “Rulchi” protsessor va akkumulyatorni iste’mol qiladi, sovutgichlarning to‘xtovsiz aylanishiga sabab bo‘ladi va unga xizmat ko‘rsatish qiyin.

Garden v0.10.0: Noutbukingizga Kubernetes kerak emas
Qo'shimcha effekt uchun mavzuda suratga olish

Minikube, kind, k3s, Docker Desktop, microk8s va boshqalar. - Kubernetes-dan foydalanishni iloji boricha qulay qilish uchun yaratilgan ajoyib vositalar va buning uchun ularga rahmat. Jiddiy. Ammo qanday qarasangiz ham, bir narsa aniq: Kubernetes mening noutbukimda ishlash uchun mos emas. Va noutbukning o'zi virtual mashinalar qatlamlari bo'ylab tarqalgan konteynerlar klasteri bilan ishlash uchun mo'ljallanmagan. Bechora qo'lidan kelganicha harakat qilmoqda, lekin bu harakatni yoqtirmasligi aniq, sovutgichlarning uvillashidan noroziligini ko'rsatib, men o'ylamasdan tizzamga qo'yganimda sonlarini yoqishga harakat qilmoqda.

Aytaylik: noutbuk - noutbuk.

bog ' Skaffold va Draft bilan bir xil joyni egallagan ishlab chiquvchilar uchun vositadir. Bu Kubernetes ilovalarini ishlab chiqish va sinovdan o'tkazishni soddalashtiradi va tezlashtiradi.

Taxminan 18 oy oldin Gardenda ishlay boshlaganimizdan beri biz buni bilar edik mahalliy Taqsimlangan tizimlarni ishlab chiqish vaqtinchalik yechimdir, shuning uchun Garden sezilarli moslashuvchanlikda va mustahkam poydevorda qurilgan.

Endi biz mahalliy va uzoq Kubernetes muhitlarini qo‘llab-quvvatlashga tayyormiz. Ish ancha osonlashdi: yig'ish, joylashtirish va sinovdan o'tkazish endi masofaviy klasterda amalga oshirilishi mumkin.

Qisqacha aytganda:

Garden v0.10 bilan siz mahalliy Kubernetes klasterini butunlay unutishingiz va kod o'zgarishlariga tez javob olishingiz mumkin. Bularning barchasi bepul va ochiq manba.

Garden v0.10.0: Noutbukingizga Kubernetes kerak emas
Mahalliy va uzoq muhitlarda bir xil tajribadan bahramand bo'ling

Sizning e'tiboringizni jalb qildingizmi?

Va men bundan xursandman, chunki bizda juda ko'p qiziqarli xususiyatlar mavjud! Dev klasterlaridan umumiy foydalanish, ayniqsa, hamkorlikdagi jamoalar va CI quvurlari uchun kengroq oqibatlarga olib keladi.

Qanaqasiga?

Birinchidan, klaster ichidagi kollektor - u standart Docker demoni yoki Kaniko bo'ladimi - shuningdek, klaster ichidagi registr umumiy bo'ladi. butun klaster uchun. Sizning jamoangiz barcha ishlab chiquvchilar uchun mavjud keshlar va tasvirlar bilan ishlab chiquvchi klasterni baham ko'rishi mumkin. Bog 'tasvirlar manba xeshlariga asoslanganligi sababli teglar va qatlamlar noyob va izchil aniqlanadi.

Bu shuni anglatadiki, ishlab chiquvchi rasm yaratgandan so'ng, u tasvirga aylanadi butun jamoa uchun mavjud. Biz kundan-kunga bir xil asosiy rasmlarni yuklab olamiz va kompyuterimizda bir xil tuzilmalarni yaratamiz. Qiziq, qancha trafik va elektr energiyasi behuda ketmoqda?..

Sinovlar haqida ham shunday deyish mumkin: ularning natijalari butun klaster va barcha jamoa a'zolari uchun mavjud. Agar ishlab chiquvchilardan biri kodning ma'lum bir versiyasini sinab ko'rgan bo'lsa, xuddi shu testni qayta o'tkazishga hojat yo'q.

Boshqacha qilib aytganda, bu shunchaki minikube-ni ishga tushirmaslik masalasi emas. Bu sakrash jamoangizga yo'l ochadi ko'p optimallashtirish imkoniyatlari - endi keraksiz tuzilmalar va test sinovlari yo'q!

CI haqida nima deyish mumkin?

Ko'pchiligimiz CI va mahalliy ishlab chiquvchilar alohida sozlanishi kerak bo'lgan ikkita alohida dunyo ekanligiga o'rganib qolganmiz (va ular keshni baham ko'rmaydi). Endi siz ularni birlashtirib, ortiqcha narsadan xalos bo'lishingiz mumkin:

Xuddi shu buyruqlarni CI va ishlab chiqish jarayonida bajarishingiz mumkin, a takje yagona muhit, keshlar va test natijalaridan foydalaning.

Aslida, sizning CI siz bilan bir xil muhitda ishlaydigan dasturchi botga aylanadi.

Garden v0.10.0: Noutbukingizga Kubernetes kerak emas
Tizim elementlari; Uzluksiz ishlab chiqish va sinov

CI quvur liniyasi konfiguratsiyasi sezilarli darajada soddalashtirilishi mumkin. Buni amalga oshirish uchun yaratish, sinovlar va joylashtirishlar uchun CI-dan Garden-ni ishga tushiring. Siz va CI bir xil muhitdan foydalanayotganingiz uchun siz CI bilan bog'liq muammolarga kamroq duch kelasiz.

Konfiguratsiyalar va skriptlarning son-sanoqsiz qatorlarini qazish, keyin surish, kutish, umid qilish va cheksiz takrorlash ... Bularning barchasi o'tmishda. Siz shunchaki rivojlanish bilan shug'ullanasiz. Keraksiz harakatlar yo'q.

Va nihoyat vaziyatni aniqlashtirish uchun: siz yoki boshqa jamoa a'zosi Garden bilan biror narsa qurgan yoki sinab ko'rganingizda, xuddi shu narsa CI uchun sodir bo'ldi. Agar siz sinovdan keyin hech narsani o'zgartirmagan bo'lsangiz, CI uchun testlarni (hatto tuzilmalarni) o'tkazishingiz shart emas. Garden hamma narsani o'zi bajaradi va keyin boshqa vazifalarga o'tadi, masalan, ishga tushirishdan oldingi muhitni tashkil qilish, artefaktlarni surish va hokazo.

Jozibali tuyuladi. Qanday qilib sinash kerak?

ga Xush kelibsiz bizning GitHub omborimiz! Garden-ni o'rnating va misollar bilan o'ynang. Bog'dan allaqachon foydalanadigan yoki u bilan yaqinroq tanishmoqchi bo'lganlar uchun biz taklif qilamiz Masofaviy Kubernetes qo'llanma. Kanalimizga qo'shiling Kubernetes Slackdagi #bog', agar sizda savollar, muammolar bo'lsa yoki shunchaki suhbatlashmoqchi bo'lsangiz. Biz har doim yordam berishga va foydalanuvchilarning fikr-mulohazalarini qabul qilishga tayyormiz.

Tarjimondan PS

Tez orada biz Kubernetesda faoliyat yurituvchi dastur ishlab chiquvchilari uchun foydali yordamchi dasturlarning sharhini ham e'lon qilamiz, u Gardendan tashqari boshqa qiziqarli loyihalarni ham o'z ichiga oladi... Shu bilan birga, bizning blogimizda ham o'qing:

Manba: www.habr.com

a Izoh qo'shish