Kubernetesni yaxshilaydigan 11 ta vosita

Kubernetesni yaxshilaydigan 11 ta vosita

Barcha server platformalari, hatto eng kuchli va kengaytiriladigan platformalar ham barcha ehtiyojlarni qanoatlantirmaydi. Kubernetes o'z-o'zidan ajoyib ishlayotgan bo'lsa-da, to'liq bo'lishi uchun kerakli qismlar etishmasligi mumkin. Siz har doim sizning ehtiyojlaringizni e'tiborsiz qoldiradigan yoki Kubernetes ma'lumotlar bazasini qo'llab-quvvatlash yoki CD bilan ishlash kabi standart o'rnatishda ishlamaydigan maxsus holatni topasiz.

Eng keng jamoatchilik tomonidan qo'llab-quvvatlanadigan ushbu konteyner orkestri uchun qo'shimchalar, kengaytmalar va boshqa foydali narsalar shu erda paydo bo'ladi. Ushbu maqolada biz topgan eng yaxshi 11 ta narsa bo'ladi. Biz o'zimiz Sautbrij ular juda qiziq va biz ular bilan amalda shug'ullanishni rejalashtirmoqdamiz - ularni vintlardek va yong'oqlarga qismlarga ajratish va ichida nima borligini ko'rish. Ulardan ba'zilari har qanday Kubernetes klasterini mukammal ravishda to'ldiradi, boshqalari esa odatiy Kubernetes taqsimotida amalga oshirilmaydigan muayyan vazifalarni hal qilishga yordam beradi.

Darvozabon: siyosatni boshqarish

Loyiha Ochiq siyosat agenti (OPA) Kubernetes-dagi bulutli ilovalar steklari ustiga kirishdan tortib to xizmat ko'rsatish tarmog'igacha siyosat yaratish imkoniyatini beradi. Darvozabon Kubernetes-ga klasterdagi siyosatlarni avtomatik ravishda amalga oshirish qobiliyatini beradi, shuningdek, siyosatni buzadigan har qanday hodisa yoki resurslarni tekshirishni ta'minlaydi. Bularning barchasi nisbatan yangi Kubernetes mexanizmi, Webhooks qabul qilish menejeri tomonidan boshqariladi, u resurslar o'zgarganda ishga tushadi. Gatekeeper bilan OPA siyosatlari doimiy nazoratni talab qilmasdan Kubernetes klasteringiz holatining yana bir qismiga aylanadi.

Gravitatsiya: Portativ Kubernetes klasterlari

Agar siz Kubernetes-ga dastur chiqarmoqchi bo'lsangiz, ko'pgina ilovalar ushbu jarayonni boshqaradigan va avtomatlashtiradigan Helm diagrammasiga ega. Ammo agar siz Kubernetes klasteringizni "xuddi shunday" olib, uni boshqa joyga chiqarmoqchi bo'lsangiz-chi?

tortish Kubernetes klasterlarining suratlarini, ularning konteyner tasvirlari uchun reestrini, shuningdek, “dastur paketlari” deb nomlangan ishlayotgan ilovalarni oladi. Oddiy fayl bo'lgan bunday paket .tar, Kubernetes ishlay oladigan joyda klasterni takrorlashi mumkin.

Gravity shuningdek, maqsadli infratuzilma manba infratuzilmasi bilan bir xil harakat qilishini, shuningdek, nishondagi Kubernetes muhiti mavjudligini tekshiradi. Gravity-ning pulli versiyasi, shuningdek, RBAC va turli xil klasterlarni joylashtirishda xavfsizlik sozlamalarini sinxronlashtirish qobiliyatini o'z ichiga olgan xavfsizlik xususiyatlarini qo'shadi.

Eng so'nggi yirik nashr Gravity 7 Gravity tasvirini tasvirdan butunlay yangi klasterni aylantirish o'rniga, mavjud Kubernetes klasteriga surishi mumkin. Gravity 7 Gravity tasviridan foydalanmasdan o'rnatilgan klasterlar bilan ham ishlashi mumkin. Gravity shuningdek, SELinux-ni qo'llab-quvvatlaydi va Teleport SSH shlyuzi bilan ishlaydi.

Kaniko: Kubernetes klasterida konteynerlar qurish

Ko'pgina konteyner tasvirlari konteynerlar to'plamidan tashqarida joylashgan tizimlarda qurilgan. Biroq, ba'zida tasvirni konteynerlar to'plami ichida, masalan, ishlaydigan konteynerda yoki Kubernetes klasterida yaratishingiz kerak bo'ladi.

Kaniko konteyner muhitida konteynerlar quradi, lekin Docker kabi konteynerlashtirish xizmatiga bog'liq emas. Buning o'rniga, Kaniko fayl tizimini asosiy tasvirdan ajratib oladi, chiqarilgan fayl tizimining yuqori qismidagi barcha foydalanuvchi maydonini yaratish buyruqlarini bajaradi va har bir buyruqdan keyin fayl tizimining suratini oladi.

Eslatma: Kaniko hozirda (2020 yil may, taxminan. tarjimon) Windows konteynerlarini qura olmaydi.

Kubecost: Kubernetes boshlang'ich xarajatlari variantlari

Kubernetes boshqaruv vositalarining aksariyati foydalanish qulayligi, monitoring, pod ichidagi xatti-harakatni tushunish va hokazolarga qaratilgan. Ammo Kubernetes-ning ishga tushirilishi bilan bog'liq xarajatlarni - rubl va kopeklarda monitoring qilish haqida nima deyish mumkin?

Kubecost Kubernetes parametrlarini real vaqt rejimida qayta ishlaydi, natijada yirik bulut provayderlarida klasterlarni ishga tushirishdan so‘nggi xarajat ma’lumotlari klaster uchun oylik xarajat bilan panelda ko‘rsatiladi. Operativ xotira, protsessor vaqti, GPU va disk quyi tizimi narxlari Kubernetes komponentlari (konteyner, pod, xizmat va h.k.) boʻyicha taqsimlanadi.

Kubecost shuningdek, Amazon S3 chelaklari kabi klaster bo'lmagan resurslarning narxini kuzatib boradi, garchi bu AWS tomonidan cheklangan. Narxlar haqidagi ma'lumotlar Prometeyga yuborilishi mumkin, shuning uchun siz undan klasterning harakatini dasturiy jihatdan o'zgartirish uchun foydalanishingiz mumkin.

Agar sizda 15 kunlik jurnal maʼlumotlari yetarli boʻlsa, Kubecost’dan foydalanish bepul. Qo'shimcha funktsiyalar uchun narx 199 ta tugunni kuzatish uchun oyiga 50 dollardan boshlanadi.

KubeDB: Kubernetesda jangovar ma'lumotlar bazalarini ishga tushirish

Kubernetesda ma'lumotlar bazalarini ajoyib tarzda ishlatish ham qiyin. Siz MySQL, PostgreSQL, MongoDB va Redis uchun Kubernetes operatorlarini topasiz, ammo ularning barchasida kamchiliklar mavjud. Bundan tashqari, odatiy Kubernetes xususiyatlari to'plami aniqlangan ma'lumotlar bazasi muammolarining aksariyatini to'g'ridan-to'g'ri hal qilmaydi.

KubeDB ma'lumotlar bazasini boshqarish uchun Kubernetes bayonotlarini yaratishga yordam beradi. Zaxira nusxalarini ishga tushirish, klonlash, monitoring, oniy tasvirlar va deklarativ ma'lumotlar bazasini yaratish uning tarkibiy qismlaridir. Funktsiyani qo'llab-quvvatlash ma'lumotlar bazasiga bog'liq ekanligini unutmang. Masalan, klaster yaratish PostgreSQL uchun ishlaydi, lekin MySQL uchun emas (allaqachon bor, to'g'ri ta'kidlanganidek dnbstd, taxminan. tarjimon).

Kube-maymun: Kubernetes uchun xaos maymun

Stress testining eng xatosiz usuli tasodifiy buzilishlar deb hisoblanadi. Bu nazariya Netflix-ning xaotik muhandislik vositasi bo'lgan Chaos Monkey-ning markazida joylashgan bo'lib, ishlab chiquvchilarni yanada bardoshli tizimlar yaratishga "rag'batlantirish" uchun ishlab chiqarish muhiti virtual mashinalari va konteynerlarini tasodifiy o'chirib qo'yadi. kube-maymun - Kubernetes klasterlari uchun stress testining bir xil asosiy nazariyasini amalga oshirish. U siz belgilagan klasterdagi modullarni tasodifiy o'ldirish orqali ishlaydi va ma'lum bir vaqt oralig'ida ishlashga ham sozlanishi mumkin.

AWS uchun Kubernetes Ingress Controller

Kubernetes chaqirilgan xizmat orqali tashqi yuk balansi va klaster tarmoq xizmatlarini taqdim etadi Kirish AWS yukni muvozanatlash xususiyatlarini ta'minlaydi, lekin ularni bir xil Kubernetes xususiyatlari bilan avtomatik ravishda birlashtirmaydi. AWS uchun Kubernetes Ingress Controller bu bo'shliqni yopadi.

U klasterdagi har bir kirish uchun AWS resurslarini avtomatik ravishda boshqaradi, yangi kirish resurslari uchun yuk balanslagichlarini yaratadi va resurslar olib tashlanganida yuk balanslagichlarini oʻchiradi. Klaster holati barqaror bo'lishini ta'minlash uchun u CloudFormation-dan foydalanadi. Shuningdek, u CloudWatch Alarm sozlamalarini qo'llab-quvvatlaydi va SSL sertifikatlari va EC2 Avtomatik Scaling Groups kabi klasterda ishlatiladigan boshqa elementlarni avtomatik ravishda boshqaradi.

Kubespray: Kubernetes-ni avtomatik o'rnatish

Kubespray ishlab chiqarishga tayyor Kubernetes klasterini apparat serverlariga oʻrnatishdan tortib yirik ommaviy bulutlargacha oʻrnatishni avtomatlashtiradi. U Ansible (Vagrant ixtiyoriy) yordamida oʻrnatishni boshlash va apparat serverlariga oʻrnatilganda siz tanlagan tarmoq qoʻshimchalari (masalan, Flannel, Calico va boshqalar) bilan noldan yuqori mavjudlik klasterini yaratadi.

Skaffold: Kubernetes uchun iterativ rivojlanish

Skaffold - Kubernetes-da dastur kompakt disklarini tashkil qilish uchun ishlatiladigan Google vositalaridan biri. Manba kodiga o'zgartirish kiritganingizdan so'ng, skaffold buni avtomatik ravishda aniqlaydi, qurish va joylashtirishni boshlaydi va xatoliklar mavjud bo'lsa sizni ogohlantiradi. Skaffold to'liq mijoz tomonida ishlaydi, shuning uchun o'rnatish yoki yangilashda kichik nuanslar bo'lishi mumkin. U mavjud CICD quvurlari bilan ishlatilishi mumkin, shuningdek, ba'zi tashqi qurilish vositalari, asosan Google'ning Bazel bilan o'zaro ta'sir qilishi mumkin.

Tereza: Kubernetesdagi eng oddiy PaaS

Tereza Kubernetes tepasida oddiy PaaS-ni boshqaradigan ilovalarni joylashtirish tizimi. Birlashgan foydalanuvchilar o'zlarining ilovalarini joylashtirishlari va boshqarishlari mumkin. Bu ushbu ilovaga ishonadigan va Kubernetes va uning barcha murakkabliklari bilan shug'ullanishni istamaydigan odamlar uchun ishlarni biroz osonlashtiradi.

Tilt: Konteyner yangilanishlarini Kubernetes klasterlariga uzating

Tilt, Windmill Engineering tomonidan ishlab chiqilgan bo'lib, turli Docker fayllaridagi o'zgarishlarni kuzatib boradi va keyin Kubernetes klasteriga tegishli konteynerlarni bosqichma-bosqich o'rnatadi. Aslida, u Dockerfiles-ni yangilash orqali ishlab chiqarish klasterini real vaqtda yangilash imkonini beradi. Tilt klaster ichida quriladi, manba kodini o'zgartirish kerak bo'lgan narsadir. Shuningdek, siz klaster holatining suratini olishingiz va xatolik holatlarini to‘g‘ridan-to‘g‘ri Tilt orqali yozib olishingiz va disk raskadrovka uchun jamoa a’zolari bilan baham ko‘rishingiz mumkin.

PS Bu vositalarning barchasi bizda qayta-qayta mavjud Sautbrij bizning qiziquvchan qo'llarimiz bilan tekshirildi. Haqiqiy amaliyotlarni (umid qilamanki!) Fevral oyida oflayn intensiv ravishda taqdim etish. Kubernetes bazasi 8 yil 10–2021 fevral. Va Kubernetes Mega 12–14 fevral. Rostini aytsam, biz oflayn o'rganishning iliq va baquvvat muhitini ham sog'indik. Texnologiyalar qanchalik ilg'or bo'lmasin, ular hamfikrlar yig'ilganda jonli odamlar muloqoti va o'ziga xos muhit o'rnini bosa olmaydi.

Manba: www.habr.com

a Izoh qo'shish