Ishlab chiqarish muhitida konteynerlar va Kubernetlarni ishlatish bo'yicha eng yaxshi amaliyotlar va eng yaxshi amaliyotlar

Ishlab chiqarish muhitida konteynerlar va Kubernetlarni ishlatish bo'yicha eng yaxshi amaliyotlar va eng yaxshi amaliyotlar
Konteynerlash texnologiyasi ekotizimlari tez rivojlanmoqda va o'zgarib bormoqda, shuning uchun bu sohada yaxshi ish amaliyotlari yo'q. Biroq, Kubernetes va konteynerlar eski ilovalarni modernizatsiya qilish va zamonaviy bulutli ilovalarni ishlab chiqish uchun tobora ko'proq foydalanilmoqda. 

komanda Mail.ru dan Kubernetes aaS Gartner, 451 Research, StacxRox va boshqalardan bozor rahbarlari uchun to'plangan prognozlar, maslahatlar va eng yaxshi amaliyotlar. Ular ishlab chiqarish muhitida konteynerlarni joylashtirishni ta'minlaydi va tezlashtiradi.

Sizning kompaniyangiz konteynerlarni ishlab chiqarish muhitida joylashtirishga tayyorligini qanday bilish mumkin

Gartnerga ko'ra, 2022 yilda tashkilotlarning 75% dan ortig'i ishlab chiqarishda konteynerli ilovalardan foydalanadi. Bu kompaniyalarning 30% dan kamrog'i bunday ilovalardan foydalanadigan hozirgidan sezilarli darajada ko'pdir. 

Shunga ko'ra 451 tadqiqot2022-yilda konteyner texnologiyasini qo‘llash bo‘yicha prognoz qilingan bozor 4,3 milliard dollarni tashkil etadi.Bu 2019-yilda prognoz qilingan mablag‘dan ikki baravar ko‘p, bozor o‘sish sur’ati 30 foizni tashkil etadi.

В Portworx va Aqua Security tadqiqoti Respondentlarning 87 foizi hozirda konteyner texnologiyalaridan foydalanishini aytdi. Taqqoslash uchun, 2017 yilda bunday respondentlarning 55 foizi bor edi. 

Konteynerlarga bo'lgan qiziqish va qabul qilish ortib borayotganiga qaramay, ularni ishlab chiqarishga kiritish texnologik etuklik va nou-xau etishmasligi tufayli o'rganish egri chizig'ini talab qiladi. Tashkilotlar ilovalarni konteynerlashtirishni talab qiladigan biznes jarayonlariga nisbatan real bo'lishi kerak. IT rahbarlari tez o'rganish zarurati bilan oldinga siljish uchun ko'nikmalarga ega yoki yo'qligini baholashlari kerak. 

Gartner mutaxassislari O‘ylaymizki, quyidagi rasmdagi savollar konteynerlarni ishlab chiqarishga o‘rnatishga tayyorligingizni aniqlashga yordam beradi:

Ishlab chiqarish muhitida konteynerlar va Kubernetlarni ishlatish bo'yicha eng yaxshi amaliyotlar va eng yaxshi amaliyotlar

Ishlab chiqarishda konteynerlardan foydalanishda eng ko'p uchraydigan xatolar

Tashkilotlar ko'pincha konteynerlarni ishlab chiqarishda ishlatish uchun zarur bo'lgan harakatlarni kam baholaydilar. Gartner kashf etdi Ishlab chiqarish muhitida konteynerlardan foydalanishda mijozlar stsenariylarida ba'zi keng tarqalgan xatolar:

Ishlab chiqarish muhitida konteynerlar va Kubernetlarni ishlatish bo'yicha eng yaxshi amaliyotlar va eng yaxshi amaliyotlar

Konteynerlarni qanday xavfsiz saqlash kerak

Xavfsizlikni "keyinroq" hal qilish mumkin emas. U DevOps jarayoniga o'rnatilishi kerak, shuning uchun hatto maxsus atama mavjud - DevSecOps. Tashkilotlar rejalashtirishlari kerak konteyner muhitini himoya qilish dasturni yaratish va ishlab chiqish jarayoni, joylashtirish va ishga tushirishni o'z ichiga olgan ishlab chiqishning butun hayotiy tsikli.

Gartner tavsiyalari

  1. Zaifliklar uchun ilova tasvirlarini skanerlash jarayonini uzluksiz integratsiya/uzluksiz yetkazib berish (CI/CD) quvur liniyasiga integratsiya qiling. Ilovalar dasturiy ta'minotni yaratish va ishga tushirish bosqichlarida skanerdan o'tkaziladi. Ochiq kodli komponentlar, kutubxonalar va ramkalarni skanerlash va aniqlash zarurligini ta'kidlang. Qadimgi, zaif versiyalardan foydalanadigan dasturchilar konteyner zaifliklarining asosiy sabablaridan biridir.
  2. Internet xavfsizligi testlari markazi bilan konfiguratsiyani yaxshilang (MDH), ular Docker va Kubernetes uchun mavjud.
  3. Kirish nazoratini qo'llaganingizga ishonch hosil qiling, vazifalarni ajratishni ta'minlang va maxfiy boshqaruv siyosatini amalga oshiring. Secure Sockets Layer (SSL) kalitlari yoki maʼlumotlar bazasi hisob maʼlumotlari kabi nozik maʼlumotlar orkestr yoki uchinchi tomon boshqaruv xizmatlari tomonidan shifrlanadi va ish vaqtida oshkor qilinadi.
  4. Potentsial buzilish xavfini kamaytirish uchun xavfsizlik siyosatini boshqarish orqali baland konteynerlardan saqlaning.
  5. Zararli harakatlarning oldini olish uchun oq roʻyxatga kiritish, xatti-harakatlar monitoringi va anomaliyalarni aniqlash imkonini beruvchi xavfsizlik vositalaridan foydalaning.

StacxRox tavsiyalari:

  1. Kubernetesning o'rnatilgan imkoniyatlaridan foydalaning. Rollardan foydalanadigan foydalanuvchilar uchun ruxsatni o'rnating. Kerakli minimal ruxsatnomalar haqida o'ylash biroz vaqt talab qilishi mumkin bo'lsa-da, alohida shaxslarga keraksiz ruxsatlarni bermasligingizga ishonch hosil qiling. Klaster ma'muriga keng imtiyozlar berish jozibador bo'lishi mumkin, chunki bu dastlab vaqtni tejaydi. Biroq, hisobdagi har qanday kelishuv yoki xatolar keyinchalik halokatli oqibatlarga olib kelishi mumkin. 
  2. Ikki nusxadagi ruxsatlardan saqlaning. Ba'zida turli rollarning bir-biriga mos kelishi foydali bo'lishi mumkin, ammo bu operatsion muammolarga olib kelishi va ruxsatlarni olib tashlashda ko'r joylarni yaratishi mumkin. Foydalanilmayotgan va faol bo'lmagan rollarni olib tashlash ham muhimdir.
  3. Tarmoq siyosatini o'rnating: ularga kirishni cheklash uchun modullarni ajratib oling; teglar yordamida kerak bo'lgan modullarga Internetga kirishga aniq ruxsat berish; Bir-biri bilan bog'lanishi kerak bo'lgan modullar o'rtasidagi aloqaga aniq ruxsat bering. 

Konteynerlar va ulardagi xizmatlar monitoringini qanday tashkil qilish kerak

Xavfsizlik va monitoring - kompaniyalarning asosiy muammolari Kubernetes klasterlarini joylashtirishda. Ishlab chiquvchilar har doim o'zlari ishlab chiqadigan ilovalarning jihatlariga emas, balki xususiyatlariga ko'proq e'tibor berishadi ushbu ilovalarni kuzatish

Gartner tavsiyalari:

  1. Xost tizimlarini monitoring qilish bilan birgalikda konteynerlar yoki ulardagi xizmatlarning holatini kuzatishga harakat qiling.
  2. Konteyner orkestriga chuqur integratsiyalashgan sotuvchilar va asboblarni, ayniqsa Kubernetesni qidiring.
  3. Analitik va/yoki mashinani oʻrganishdan foydalangan holda batafsil jurnalni qayd etish, xizmatlarni avtomatik aniqlash va real vaqtda tavsiyalar beradigan vositalarni tanlang.

SolarWinds blogi maslahat beradi:

  1. Protsessor, xotira va ish vaqti kabi ishlash ko'rsatkichlarini o'zaro bog'laydigan konteyner ko'rsatkichlarini avtomatik aniqlash va kuzatish uchun vositalardan foydalaning.
  2. Konteyner monitoringi ko'rsatkichlari asosida quvvat tugash sanalarini bashorat qilish orqali optimal quvvatni rejalashtirishni ta'minlang.
  3. Imkoniyatlarni rejalashtirish va ishlash muammolarini bartaraf etish uchun foydali bo'lgan konteynerlashtirilgan ilovalarning mavjudligi va ishlashini kuzatib boring.
  4. Konteynerlar va ularning xosting muhitlari uchun boshqaruv va masshtabni qo'llab-quvvatlash orqali ish oqimlarini avtomatlashtirish.
  5. Foydalanuvchi bazangizni kuzatish, eskirgan va mehmon hisoblarini o‘chirish va keraksiz imtiyozlarni olib tashlash uchun kirishni boshqarishni avtomatlashtiring.
  6. Infratuzilma, tarmoq, tizimlar va ilovalar boʻylab ishlashni koʻrish va taqqoslash uchun asboblar toʻplami bir nechta muhitda (bulutli, mahalliy yoki gibrid) ushbu konteynerlar va ilovalarni kuzatishi mumkinligiga ishonch hosil qiling.

Ma'lumotlarni qanday saqlash va uning xavfsizligini ta'minlash

Shtatli ishchi konteynerlarining ko'payishi bilan mijozlar xostdan tashqarida ma'lumotlar mavjudligini va bu ma'lumotlarni himoya qilish zarurligini hisobga olishlari kerak. 

muvofiq Portworx va Aqua Security tadqiqoti, ma'lumotlar xavfsizligi respondentlarning ko'pchiligi (61%) keltirgan xavfsizlik muammolari ro'yxatida birinchi o'rinda turadi. 

Ma'lumotlarni shifrlash xavfsizlikning asosiy strategiyasi (64%), ammo respondentlar ish vaqti monitoringidan ham foydalanadilar

(49%), registrlarni zaifliklar uchun skanerlash (49%), CI/CD quvurlarida zaifliklarni skanerlash (49%) va ish vaqti himoyasi orqali anomaliyalarni bloklash (48%).

Gartner tavsiyalari:

  1. Printsiplarga asoslangan saqlash echimlarini tanlang mikroservis arxitekturasi. Konteyner xizmatlari uchun ma'lumotlarni saqlash talablariga javob beradigan, apparatdan mustaqil, API-ga asoslangan, taqsimlangan arxitekturaga ega, mahalliy joylashtirish va ommaviy bulutda joylashtirishni qo'llab-quvvatlaydiganlarga e'tibor qaratish yaxshiroqdir.
  2. Xususiy plaginlar va interfeyslardan saqlaning. Kubernetes integratsiyasini ta'minlaydigan va CSI (Container Storage Interfaces) kabi standart interfeyslarni qo'llab-quvvatlaydigan sotuvchilarni tanlang.

Tarmoqlar bilan qanday ishlash kerak

AT-guruhlari har bir loyiha uchun tarmoq ishlab chiqish, sinov, sifat kafolati va ishlab chiqarish muhitini yaratadigan an'anaviy korporativ tarmoq modeli har doim ham uzluksiz ishlab chiqish ish oqimiga mos kelmaydi. Bundan tashqari, konteyner tarmoqlari bir nechta qatlamlarni qamrab oladi.

В blog Magalix to'plangan Klaster-tarmoq yechimini amalga oshirish quyidagi yuqori darajadagi qoidalarga rioya qilishi kerak:

  1. Xuddi shu tugunga rejalashtirilgan bo'laklar NAT (Tarmoq manzili tarjimasi) dan foydalanmasdan boshqa podalar bilan bog'lana olishi kerak.
  2. Muayyan tugunda ishlaydigan barcha tizim demonlari (kubelet kabi fon jarayonlari) bir xil tugunda ishlaydigan podlar bilan aloqa qilishi mumkin.
  3. Podlardan foydalanish xost tarmog'i, NAT dan foydalanmasdan boshqa barcha tugunlardagi barcha boshqa podlar bilan aloqa o'rnatishi kerak. Esda tutingki, xost tarmog'i faqat Linux xostlarida qo'llab-quvvatlanadi.

Tarmoq yechimlari Kubernetes primitivlari va siyosatlari bilan chambarchas integratsiyalangan bo'lishi kerak. AT rahbarlari yuqori darajadagi tarmoqni avtomatlashtirishga intilishi va ishlab chiquvchilarga to'g'ri vositalar va etarli moslashuvchanlikni taqdim etishi kerak.

Gartner tavsiyalari:

  1. CaaS (xizmat sifatida konteyner) yoki SDN (dasturiy ta'minot bilan belgilangan tarmoq) Kubernetes tarmoqlarini qo'llab-quvvatlashini bilib oling. Agar yo'q bo'lsa yoki qo'llab-quvvatlash etarli bo'lmasa, konteynerlaringiz uchun kerakli funksionallik va siyosatlarni qo'llab-quvvatlaydigan CNI (Container Network Interface) tarmoq interfeysidan foydalaning.
  2. Sizning CaaS yoki PaaS (xizmat sifatida platforma) kiruvchi trafikni klaster tugunlari o'rtasida taqsimlovchi kirish boshqaruvchilari va/yoki yuk balanslagichlarini yaratishni qo'llab-quvvatlashiga ishonch hosil qiling. Agar bu imkoniyat bo'lmasa, uchinchi tomon proksi-serverlari yoki xizmat ko'rsatish tarmoqlaridan foydalanishni o'rganing.
  3. Ko'nikmalardagi bo'shliqni kamaytirish va chaqqonlikni oshirish uchun tarmoq muhandislaringizni Linux tarmoqlari va tarmoqni avtomatlashtirish vositalariga o'rgating.

Ilovaning hayot aylanishini qanday boshqarish kerak

Ilovalarni avtomatlashtirilgan va uzluksiz yetkazib berish uchun siz konteyner orkestrini boshqa avtomatlashtirish vositalari bilan to‘ldirishingiz kerak, masalan, kod (IaC) mahsulotlari sifatida infratuzilma. Bularga Chef, Puppet, Ansible va Terraform kiradi. 

Ilovalarni yaratish va ishga tushirish uchun avtomatlashtirish vositalari ham talab qilinadi (qarang: "Ilovalarni chiqarish orkestri uchun sehrli kvadrant"). Konteynerlar, shuningdek, virtual mashinalarni (VM) o'rnatishda mavjud bo'lganlarga o'xshash kengaytirish imkoniyatlarini taqdim etadi. Shuning uchun, IT rahbarlari bo'lishi kerak konteynerning hayot aylanishini boshqarish vositalari.

Gartner tavsiyalari:

  1. O'lcham, litsenziyalash va ishlab chiquvchilar uchun komponentlar qo'shish moslashuvchanligi asosida asosiy konteyner tasvirlari uchun standartlarni o'rnating.
  2. Ommaviy yoki shaxsiy omborlarda joylashgan asosiy tasvirlar asosida konfiguratsiyani qatlamlaydigan konteynerlarning hayot aylanishini boshqarish uchun konfiguratsiyani boshqarish tizimlaridan foydalaning.
  3. Barcha ilovalar ish jarayonini avtomatlashtirish uchun CaaS platformangizni avtomatlashtirish vositalari bilan birlashtiring.

Orkestrlar bilan konteynerlarni qanday boshqarish kerak

Konteynerlarni joylashtirishning asosiy funksiyasi orkestratsiya va rejalashtirish qatlamlarida taqdim etiladi. Rejalashtirish vaqtida konteynerlar orkestrlash qatlami talablari asosida klasterdagi eng maqbul xostlarga joylashtiriladi. 

Kubernetes faol hamjamiyat bilan de-fakto konteyner orkestri standartiga aylandi va ko'pchilik yetakchi savdo sotuvchilar tomonidan qo'llab-quvvatlanadi. 

Gartner tavsiyalari:

  1. Xavfsizlikni boshqarish, monitoring, siyosatni boshqarish, ma'lumotlarning barqarorligi, tarmoq va konteynerning hayot aylanishini boshqarish uchun asosiy talablarni aniqlang.
  2. Ushbu talablarga asoslanib, sizning talablaringizga va foydalanish holatlaringizga eng mos keladigan vositani tanlang.
  3. Gartner tadqiqotidan foydalaning (qarang: "Kubernetes joylashtirish modelini qanday tanlash mumkin") turli Kubernetes joylashtirish modellarining ijobiy va salbiy tomonlarini tushunish va ilovangiz uchun eng yaxshisini tanlash.
  4. Qattiq backend integratsiyasi, umumiy boshqaruv rejalari va izchil narxlash modellari bilan bir nechta muhitda ishchi konteynerlar uchun gibrid orkestrni ta'minlay oladigan provayderni tanlang.

Bulutli provayderlarning imkoniyatlaridan qanday foydalanish kerak

Gartner ishonadiIaaS ommaviy bulutida konteynerlarni joylashtirishga qiziqish tayyor CaaS takliflarining mavjudligi, shuningdek, ushbu takliflarning bulutli provayderlar tomonidan taklif qilinadigan boshqa mahsulotlar bilan qattiq integratsiyalashuvi tufayli ortib bormoqda.

IaaS bulutlari talab bo'yicha resurs iste'moli, tezkor kengaytirilishi va xizmatni boshqarish, bu infratuzilma va unga texnik xizmat ko'rsatish haqida chuqur bilimga bo'lgan ehtiyojning oldini olishga yordam beradi. Aksariyat bulutli provayderlar konteynerlarni boshqarish xizmatini taklif qilishadi, ba'zilari esa bir nechta orkestratsiya variantlarini taklif qilishadi. 

Bulutli boshqariladigan asosiy xizmat ko'rsatuvchi provayderlar jadvalda keltirilgan: 

Bulutli provayder
Xizmat turi
Mahsulot/xizmat

Alibaba
Mahalliy bulut xizmati
Alibaba bulutli konteyner xizmati, Kubernetes uchun Alibaba bulutli konteyner xizmati

Amazon veb-xizmatlari (AWS)
Mahalliy bulut xizmati
Amazon Elastic Container Services (ECS), Amazon ECS for Kubernetes (EKS), AWS Fargate

Gigant to'dasi
MSP
Giant Swarm tomonidan boshqariladigan Kubernetes infratuzilmasi

Google
Mahalliy bulut xizmati
Google Container Engine (GKE)

IBM
Mahalliy bulut xizmati
IBM Cloud Kubernetes xizmati

Microsoft
Mahalliy bulut xizmati
Azure Kubernetes xizmati, Azure Service Fabric

Oracle
Mahalliy bulut xizmati
Kubernetes uchun OCI konteyner dvigateli

Platform9
MSP
Boshqariladigan Kubernetes

Red Hat
Xostlangan xizmat
OpenShift bag'ishlangan va onlayn

VMware
Xostlangan xizmat
Cloud PKS (Beta)

Mail.ru bulutli yechimlar*
Mahalliy bulut xizmati
Mail.ru bulutli konteynerlar

* Biz buni yashirmaymiz, tarjima paytida o'zimizni bu erga qo'shdik :)

Ommaviy bulut provayderlari ham yangi imkoniyatlarni qo‘shib, mahalliy mahsulotlarni chiqarmoqda. Yaqin kelajakda bulutli provayderlar gibrid bulutlar va ko'p bulutli muhitlarni qo'llab-quvvatlashni rivojlantiradilar. 

Gartner tavsiyalari:

  1. Tashkilotingizning tegishli vositalarni joylashtirish va boshqarish qobiliyatini ob'ektiv baholang va muqobil bulutli konteynerlarni boshqarish xizmatlarini ko'rib chiqing.
  2. Ehtiyotkorlik bilan dasturiy ta'minotni tanlang, iloji boricha ochiq manbadan foydalaning.
  3. Federatsiyalangan klasterlarning oyna boshqaruvining yagona panelini taklif qiluvchi gibrid muhitda umumiy operatsion modellarga ega provayderlarni, shuningdek, IaaS-ni o'z-o'zidan joylashtirishni osonlashtiradigan provayderlarni tanlang.

Replex blogidan Kubernetes aaS provayderini tanlash bo'yicha ba'zi maslahatlar:

  1. Qutidan tashqarida yuqori mavjudlikni qo'llab-quvvatlaydigan tarqatishlarni izlashga arziydi. Bunga bir nechta asosiy arxitekturalarni qo'llab-quvvatlash, yuqori darajada mavjud etcd komponentlari, zaxira va tiklash kiradi.
  2. Kubernetes muhitida mobillikni taʼminlash uchun mahalliydan tortib gibridgacha, koʻp bulutligacha keng koʻlamli joylashtirish modellarini qoʻllab-quvvatlaydigan bulutli provayderlarni tanlash yaxshidir. 
  3. Provayder takliflari, shuningdek, sozlash, o'rnatish va klaster yaratish qulayligi, shuningdek, yangilanishlar, monitoring va muammolarni bartaraf etish asosida baholanishi kerak. Asosiy talab - to'liq avtomatlashtirilgan klaster yangilanishlarini nol ish vaqti bilan qo'llab-quvvatlash. Siz tanlagan yechim yangilanishlarni qo'lda ishga tushirishga ham imkon berishi kerak. 
  4. Identifikatsiya va kirishni boshqarish ham xavfsizlik, ham boshqaruv nuqtai nazaridan muhimdir. Siz tanlagan Kubernetes distributivi siz ichki foydalanadigan autentifikatsiya va avtorizatsiya vositalari bilan integratsiyani qo‘llab-quvvatlashiga ishonch hosil qiling. RBAC va nozik kirish nazorati ham muhim xususiyatlar to'plamidir.
  5. Siz tanlagan tarqatish turli xil ilovalar yoki infratuzilma talablarining keng doirasini qamrab oladigan mahalliy dasturiy ta'minot bilan aniqlangan tarmoq yechimiga ega bo'lishi yoki Flannel, Calico, kube-router yoki OVN kabi mashhur CNI-ga asoslangan tarmoq ilovalarini qo'llab-quvvatlashi kerak.

Konteynerlarni ishlab chiqarishga joriy etish asosiy yo‘nalishga aylanmoqda, bu haqda o‘tkazilgan so‘rov natijalari shundan dalolat beradi. Gartner sessiyalari 2018 yil dekabr oyida infratuzilma, operatsiyalar va bulutli strategiyalar (IOCS) bo'yicha:

Ishlab chiqarish muhitida konteynerlar va Kubernetlarni ishlatish bo'yicha eng yaxshi amaliyotlar va eng yaxshi amaliyotlar
Ko'rib turganingizdek, respondentlarning 27 foizi allaqachon o'z ishlarida konteynerlardan foydalanadi va 63 foizi buni rejalashtirmoqda.

В Portworx va Aqua Security tadqiqoti Respondentlarning 24 foizi konteyner texnologiyalariga yiliga yarim million dollardan ko‘proq sarmoya kiritganliklarini, respondentlarning 17 foizi esa yiliga million dollardan ko‘proq mablag‘ sarflaganini ma’lum qilgan. 

Bulut platformasi jamoasi tomonidan tayyorlangan maqola Mail.ru bulutli echimlar.

Mavzu bo'yicha yana nimani o'qish kerak:

  1. DevOps eng yaxshi amaliyotlari: DORA hisoboti.
  2. Kubernetes qaroqchilik ruhida amalga oshirish shabloniga ega.
  3. Kubernetesni joylashtirish va qabul qilish uchun 25 ta foydali vositalar.

Manba: www.habr.com

a Izoh qo'shish