Praktikat më të mira dhe rekomandimet për ekzekutimin e kontejnerëve dhe Kubernetes në ambientet prodhuese

Praktikat më të mira dhe rekomandimet për ekzekutimin e kontejnerëve dhe Kubernetes në ambientet prodhuese
Ekosistemi i teknologjive të konteinerizimit po zhvillohet dhe ndryshon shpejt, prandaj në këtë fushë mungojnë praktikat e mira të punës. Megjithatë, Kubernetes dhe kontenerët po përdoren gjithnjë e më shumë — si për modernizimin e aplikacioneve të vjetra, ashtu edhe për zhvillimin e aplikacioneve moderne në cloud. 

Ekipa Kubernetes aaS nga Mail.ru ka mbledhur parashikimet, këshillat dhe praktikat më të mira për liderët e tregut nga Gartner, 451 Research, StacxRoх dhe të tjerë. Ato do të ndihmojnë në sigurimin dhe përshpejtimin e rrëfimit të konteinerëve në mjediset prodhuese.

Si të kuptoni nëse kompania juaj është e gatshme për të implementuar konteinerë në mjedisin prodhues

Sipas të dhënave nga Gartner, në vitin 2022, më shumë se 75% e organizatave do të përdorin aplikacione të konteinerizuara në prodhim. Kjo është shumë më e madhe se sa në aktualitet, kur rreth 30% e kompanive përdorin këto aplikacione. 

Sipas 451 Research, tregu i parashikuar për aplikimin e teknologjive të konteinerëve në vitin 2022, do të arrijë në $ 4.3 miliard. Kjo është më shumë se dyfishi i shifrave të parashikuara në vitin 2019, me një normë rritjeje të tregut prej 30%.

në anketën Portworx dhe Aqua Security 87% e respondentëve thanë se aktualisht po përdorin teknologjitë e kontejnerëve. Për Krahasim — në vitin 2017, ky përqindje ishte 55%. 

Megjithatë, pavarësisht rritjes së interesit dhe adoptimit në rritje të kontejnerëve, futja e tyre në prodhim kërkon trajnim për shkak të pjekurisë teknologjike të ulët dhe mungesës së njohurive. Organizatave u duhet të shikojnë realisht proceset e biznesit që kërkojnë kontejnerizimin e aplikacioneve. Liderët IT duhet të vlerësojnë nëse kanë setin e aftësive për të vazhduar duke marrë parasysh nevojën për trajnim të shpejtë. 

Ekspertët Gartner mendojnë se pyetjet në figurën më poshtë do t'ju ndihmojnë të kuptoni nëse jeni të gatshëm për të zbatuar kontejnerë në prodhim:

Praktikat më të mira dhe rekomandimet për ekzekutimin e kontejnerëve dhe Kubernetes në ambientet prodhuese

Gabimet më të shpeshta në përdorimin e kontejnerëve në prodhim

Organizatat shpesh e nënvlerësojnë përpjekjen e nevojshme për të eksploatuar kontejnerët në prodhim. Gartner zbuloi disa gabime të zakonshme në skenarët e klientëve gjatë përdorimit të kontejnerëve në mjedise prodhimi:

Praktikat më të mira dhe rekomandimet për ekzekutimin e kontejnerëve dhe Kubernetes në ambientet prodhuese

Si të sigurohet siguria e kontejnerëve

Siguria nuk mund të merret si një çështje që mund të shtyhet në të ardhmen. Ajo duhet të integrohet në procesin DevOps, ndaj ka dalë edhe një term i veçantë — DevSecOps. Organizatat duhet të planifikojnë mbrojtjen e mjedisit të konteinerëve gjatë gjithë ciklit të jetës së zhvillimit, që përfshin procesin e ndërtimit dhe zhvillimit, implementimin dhe aktivizimin e aplikacionit.

Këshilla nga Gartner

  1. Integroni procesin e skanimit të imazheve të aplikacioneve për të identifikuar dobësitë në kanalin e integrimit të vazhdueshëm/delivery (CI/CD). Aplikacionet skanohen gjatë fazave të ndërtimit dhe aktivizimit të softuerit. Theksoni nevojën për të skanuar dhe identifikuar komponentët me burim të hapur, biblioteka dhe struktura. Përdorimi i versioneve të vjetra të prekura nga dobësitë nga zhvilluesit — është një nga arsyet kryesore të dobësive të konteinerëve.
  2. Përmirësoni konfigurimin përmes testeve të Qendrës për Sigurinë e Internetit (CIS), që janë të disponueshme si për Docker ashtu edhe për Kubernetes.
  3. Sigurohuni të aplikoni kontrollin e aksesit, të siguroni ndarjen e detyrave dhe të implementoni një politikë menaxhimi të sekreteve. Informacioni konfidencial, siç janë çelësat Secure Sockets Layer (SSL) ose kredencialet e bazës së të dhënave, kriptohet nga orkestruesi ose shërbimet e menaxhimit të palëve të treta dhe jepet në kohën e ekzekutimit.
  4. Shmangni kontejnerët me privilegje të larta duke përdorur menaxhimin e politikave të sigurisë, për të reduktuar rreziqet e mundshme të thyerjes.
  5. Përdorni mjete sigurie që ofrojnë lista të bardha, monitorim të sjelljes dhe zbulim të anomalive për të parandaluar veprimet e dëmshme.

Rekomandime nga StacxRox:

  1. Përdorni mundësitë e integruara të Kubernetes. Konfiguroni qasjen për përdoruesit duke përdorur role. Sigurohuni që të mos jepni leje të panevojshme për individë të veçantë, edhe nëse mund të kërkohet disa kohë për të menduar rreth lejeve minimale të nevojshme. Mund të duket erreth së mirë të jepni privilegje të gjera për administratoren e klasterit, pasi kjo kursen kohë në fillim. Megjithatë, çdo kompromis apo gabim në llogarinë e saj mund të çojë në pasoja shkatërruese më vonë. 
  2. Şmangni dyfishimin e lejeve të qasjes. Ndonjëherë, është e dobishme të bëni që role të ndryshme të kalojnë njëri mbi tjetrin, por kjo mund të sjellë probleme në operim, si dhe të krijojë "zonat e vdekura" kur hiqen lejet. Për më tepër, është e rëndësishme të hiqni rolet e pa përdorura dhe të papërdorura.
  3. Vendosni politikat rrjetore: izolojni modulet për të kufizuar qasjen në to; lejoni qartë qasjen në internet për ato module që e kërkojnë, duke përdorur etiketat; lejoni qartë komunikimin midis atyre moduleve që kanë nevojë të flasin me njëri-tjetrin. 

Si të organizoni monitorimin e kontejnerëve dhe shërbimeve në to

Siguria dhe monitorimi — problemet kryesore të kompanive kur vendosen klasterët Kubernetes. Zhvilluesit zakonisht përqendrohen më shumë në funksionet e aplikacioneve që krijojnë, sesa në aspektet e monitorimit të këtyre aplikacioneve

Këshilla nga Gartner:

  1. Përpiquni të monitoroni gjendjen e kontejnerëve ose shërbimeve në to së bashku me monitorimin e sistemeve pritëse.
  2. Preferoni prodhuesit dhe mjetet me integrim të thellë në orkestrimin e kontejnerëve, veçanërisht Kubernetes.
  3. Zgjidhni mjete që ofrojnë regjistrim të detajuar, zbulim automatike të shërbimeve dhe rekomandime në kohë reale duke përdorur analiza dhe/ose mësim makinerik.

Në blogun SolarWinds këshillohet:

  1. Të përdoren mjete për zbulimin automatik dhe ndjekjen e metrikeve të kontejnerit, korelacionin e metrikeve të performancës, si burimi, memoria dhe koha e disponueshmërisë.
  2. Të sigurohet planifikim optimal i kapaciteteve duke parashikuar afatet e shkarkimit të kapacitetit në bazë të metrikeve të monitorimit të kontejnerëve.
  3. Të organizoni monitorimin e aplikacioneve të vendosura në konteinerë, duke u bazuar në parametrat e disponueshmërisë dhe performancës, gjë që është e dobishme si për planifikimin e kapacitetit ashtu edhe për zgjidhjen e problemeve të performancës.
  4. Të automatizoni proceset e punës, duke ofruar mbështetje për menaxhimin dhe shkallëzimin e konteinerëve dhe mjediseve të tyre të vendosjes.
  5. Të automatizoni kontrollin e qasjes për të ndjekur bazën e përdoruesve, për të fikur llogaritë e tejkalueshme dhe ato të mysafirëve, si dhe për të eliminuar privilegjet e tepërta.
  6. Të siguroni që grupi juaj i mjeteve të mund të ndjekë këto konteinerë dhe aplikacione në ambiente të ndryshme (në re, lokale ose hibrid) për vizualizimin dhe përputhjen e performancës në infrastrukturë, rrjet, sisteme dhe aplikacione.

Si të ruani të dhënat dhe të siguroheni për to

Me rritjen e numrit të konteinerëve operativë me ruajtje, klientët duhet të mendojnë për vendndodhjen e të dhënave përtej hostit, si dhe për nevojën për të mbrojtur këto të dhëna. 

Sipas të dhënave anketat e Portworx dhe Aqua Security, siguria e të dhënave është në krye të listës së shqetësimeve për sigurinë, sipas shumicës së të anketuarve (61%). 

Kryptimi i të dhënave është strategjia kryesore e sigurisë (64%), megjithatë anketuesit gjithashtu përdorin monitorimin e kohës së ekzekutimit

(49%), skanimin e dobësive në regjistrat (49%), skanimin e dobësive në linjat CI/CD (49%) dhe bllokimin e anomalive përmes mbrojtjes së ekzekutimit (48%).

Këshilla nga Gartner:

  1. Zgjidhni zgjidhje të ruajtjes së të dhënave të ndërtuara mbi parimet arkitekturës mikroshërbimeve. Është më mirë të zgjidhni ato që përputhen me kërkesat për ruajtjen e të dhënave për shërbimet e konteinerëve, janë të pavarura nga hardueri, menaxhohen përmes API, kanë një arkitekturë të shpërndarë, mbështesin vendosjen lokale dhe vendosjen në re publike.
  2. Shmangni plugin dhe ndërfaqe proprietare. Zgjidhni prodhues që sigurojnë integrimin me Kubernetes dhe mbështesin ndërfaqet standarde, si CSI (Interfaces për Ruajtjen e Konteinerëve).

Si të punoni me rrjetet

Modeli tradicional i rrjetit korporativ, ku specialistët IT krijojnë mjedise rrjetesh për zhvillim, testim, kontroll të cilësisë dhe prodhim për çdo projekt, nuk përputhet gjithmonë mirë me procesin e zhvillimit të vazhdueshëm. Për më tepër, rrjetet e konteinerëve mbulojnë disa nivele.

në blogun Magalix kemi mbledhur rregullat e nivelit të lartë që duhet të respektojë implementimi i një zgjidhjeje rrjeti me klaster:

  1. Konteinerët e planifikuar në të njëjtin nod duhet të kenë mundësinë për të shkëmbyer të dhëna me module të tjera pa përdorimin e NAT (Transformimi i Adresave të Rrjetit).
  2. Të gjitha demonët e sistemit (procese në sfond, si kubelet), që punojnë në një nod të caktuar, mund të ndërveprojnë me konteinerët që punojnë në të njëjtin nod.
  3. Konteinerët që përdorin rrjetin e hostit, duhet të kenë mundësinë të lidhin me të gjithë konteinerët e tjerë në të gjithë nodet e tjera pa përdorimin e NAT. Vini re se rrjeti i hostit mbështetet vetëm në hostet Linux.

Zgjidhjet rrjetore duhet të jenë të integruara ngushtë me primitive dhe politikat e Kubernetes. Drejtuesit IT duhet të synojnë një nivel të lartë automatizimi të rrjetit, duke ofruar zhvilluesve mjetet e duhura dhe fleksibilitetin e mjaftueshëm.

Këshilla nga Gartner:

  1. Verifikoni nëse CaaS-i juaj (kontejner si shërbim) ose rrjeti juaj SDN (Rrjeti i Përcaktuar nga Softueri) mbështetet nga rrjetet Kubernetes. Nëse jo ose nëse mbështetja është e pamjaftueshme, përdorni për kontejnerët tuaj ndërfaqen rrjetore CNI (Container Network Interface), e cila mbështet funksionalitetin dhe politikat e nevojshme.
  2. Sigurohuni që CaaS-i ose PaaS-i juaj (platformë si shërbim) mbështet krijimin e kontrolluesve të hyrjes dhe/ose balancuesve të ngarkesës, të cilët shpërndajnë trafikun e hyrës ndërmjet nyjeve të klasterit. Nëse kjo mundësi nuk ekziston, shqyrtoni përdorimin e proxy-ve të jashtëm ose mekanizmave të mesh-it të shërbimit.
  3. Trajnoni inxhinierët tuaj të rrjetit për të punuar me rrjetet Linux dhe mjetet e automatizimit të rrjetit, për të ulur diferencën në aftësi dhe për të rritur fleksibilitetin.

Si të menaxhoni ciklin e jetës së aplikacioneve

Për dërgesën automatike dhe pa ndërprerje të aplikacioneve, duhet të plotësohet orkestrimi i kontejnerëve me mjete të tjera automatizimi, të tilla si produktet e infrastrukturës si kod (IaC). Këto përfshijnë Chef, Puppet, Ansible dhe Terraform. 

Po ashtu, nevojiten mjete automatizimi për ndërtimin dhe shpërndarjen e aplikacioneve (shih «Kvadri magjik për orkestrimin e lëshimeve të aplikacioneve»). Kontenierët gjithashtu ofrojnë mundësi për zgjerim, të ngjashme me mundësitë që ekzistonin gjatë shpërndarjes së makinave virtuale (VM). Si rezultat, drejtuesit IT duhet të kenë mjete të menaxhimit të ciklit të jetës së kontejnerëve.

Këshilla nga Gartner:

  1. Vendosni standarde për imazhet bazë të kontejnerëve duke marrë parasysh madhësinë, licencimin dhe fleksibilitetin për të shtuar komponentë nga zhvilluesit.
  2. Përdorni sisteme menaxhimi të konfigurimit për të menaxhuar ciklin e jetës së kontejnerëve, të cilat vendosin konfigurimin në shtresa në bazë të imazheve bazë, që ndodhen në repozita publike ose private.
  3. Integroni platformën CaaS me mjetet e automatizimit për të automatizuar të gjithë procesin e aplikacionit.

Si të menaxhoni kontejnerët me ndihmën e orkestratorëve

Funksionalitetet kryesore për shpërndarjen e kontejnerëve ofrohen në nivelet e orkestrimit dhe planifikimit. Gjatë planifikimit, kontejnerët vendosen në hostet më optimalë në grup, siç është përcaktuar nga kërkesat e nivelit të orkestrimit. 

Kubernetes është bërë standardi de facto për orkestrimin e kontejnerëve me një komunitet aktiv, dhe mbështetet nga shumica e ofruesve të njohur komercialë. 

Këshilla nga Gartner:

  1. Përcaktoni kërkesat themelore për elementet e kontrollit të sigurisë, monitorimin, menaxhimin e politikave, ruajtjen e të dhënave, menaxhimin e rrjeteve dhe ciklin jetësor të kontejnerëve.
  2. Bazuar në këto kërkesa, zgjidhni mjetin që i përmbahet më mirë nevojave dhe skenarëve tuaj të përdorimit.
  3. Përdorni kërkimet e Gartner (shihni "Si të zgjidhni modelin e shpërndarjes Kubernetes"), për të kuptuar përfitimet dhe disavantazhet e modeleve të ndryshme të shpërndarjes në Kubernetes dhe për të zgjedhur atë që i përshtatet më mirë detyrës tuaj.
  4. Zgjidhni një furnizues që mund të ofrojë orkestrimin hibrid për kontejnerët e punës në mjedise të shumta me integrim të ngushtë me backend-et, planet e përbashkëta të menaxhimit dhe modelet e konsoliduara të çmimeve.

Si të shfrytëzoni mundësitë e ofruesve të mjeteve cloud

Në Gartner mendojnë, që interesi për implementimin e kontejnerëve në cloud-in publik IaaS po rritet për shkak të disponueshmërisë së ofertave të gatshme CaaS, si dhe integrimit të ngushtë të këtyre ofertave me produkte të tjera që ofrohen nga ofruesit e mjeteve cloud.

Cloud-et IaaS ofrojnë konsumim burimesh në kërkesë, shkallëzim të shpejtë dhe menaxhim shërbimesh, që do të ndihmojë në shmangien e nevojës për njohuri të thella rreth infrastrukturës dhe mirëmbajtjes së saj. Shumica e ofruesve të mjeteve cloud ofrojnë shërbimin e menaxhimit të kontejnerëve, ndërsa disa ofrojnë disa opsione për orkestrimin. 

Furnizuesit kryesorë të shërbimeve cloud të menaxhuara janë paraqitur në tabelë: 

Ofruesi i mjeteve cloud
Tipi i shërbimit
Produkt/shërbim

Alibaba
Shërbimi Native Cloud
Alibaba Cloud Container Service, Alibaba Cloud Container Service for Kubernetes

Amazon Web Services (AWS)
Shërbimi Native Cloud
Amazon Elastic Container Services (ECS), Amazon ECS për Kubernetes (EKS), AWS Fargate

Giant Swarm
MSP
Infrastruktura e Menaxhuar për Kubernetes të Giant Swarm

Google
Shërbimi Native Cloud
Google Container Engine (GKE)

IBM
Shërbimi Native Cloud
Shërbimi i Kubernetes nga IBM Cloud

Microsoft
Shërbimi Native Cloud
Azure Kubernetes Service, Azure Service Fabric

Oracle
Shërbimi Native Cloud
OCI Container Engine për Kubernetes

Platform9
MSP
Kubernetes të Menaxhuar

Red Hat
Shërbim i Hostuar
OpenShift të Dedikuar & Online

VMware
Shërbim i Hostuar
Cloud PKS (Beta)

Zgjidhjet Cloud të Mail.ru*
Shërbimi Native Cloud
Konteinera Cloud të Mail.ru

* Nuk do ta fshehim, këtë e kemi vendosur ne vetë gjatë përkthimit 🙂

Ofertuesit e cloud-it publik po shtojnë gjithashtu mundësi të reja dhe lëshojnë produkte lokale. Në të ardhmen e afërt, ofruesit e cloud-it do të zhvillojnë mbështetje për cloud-in hibrid dhe mjedise multi-cloud. 

Rekomandimet e Gartner:

  1. Vlerësoni objektivisht mundësitë e organizatës suaj për të zbatuar dhe menaxhuar mjetet përkatëse, si dhe shqyrtoni shërbime alternative për menaxhimin e konteinerëve në cloud.
  2. Zgjidhni me kujdes softuerin, përdorni open source aty ku është e mundur.
  3. Zgjidhni ofrues me modele të njëjta operative në mjedise hibride, të cilët ofrojnë menaxhim të grupeve të bashkuara nga një panel të vetëm, si dhe ata që lehtësojnë përdorimin vetanak të IaaS.

Disa këshilla për zgjedhjen e një ofruesi Kubernetes aaS nga blogu Replex:

  1. Kërkoni distribuim që ofrojnë gatishmëri të lartë nga kutia. Kjo përfshin mbështetje për disa arkitekturë thelbësore, komponentë me akses të lartë etcd, si dhe kopje rezervë dhe rikuperim.
  2. Për të siguruar lëvizshmërinë e mjediseve Kubernetes, është më mirë të zgjidhni ofrues cloud që mbështesin një gamë të gjerë modelesh implantimi: nga lokale, deri në hibride dhe multi-cloud. 
  3. Propozimet e ofruesve gjithashtu duhen vlerësuar duke marrë parasysh lehtësinë e konfigurimit, instalimit dhe krijimit të klasterit, si dhe azhurnimeve, monitorimit dhe zgjidhjes së problemeve. Kërkesa themelore është mbështetje për azhurnime të plota automatike të klasterit pa kohë ndalimi. Zgjidhja e zgjedhur gjithashtu duhet të lejojë kryerjen e azhurnimeve manualisht. 
  4. Menaxhimi i identitetit dhe qasjes është i rëndësishëm si nga këndvështrimi i sigurisë ashtu edhe nga ai i menaxhimit. Sigurohuni që distribuimi i zgjedhur Kubernetes të mbështesë integrimin me mjetet e autentifikimit dhe autorizimit që përdoren brenda kompanisë. RBAC dhe kontrolli i detajuar i qasjes gjithashtu janë grupe të rëndësishme funksionesh.
  5. Distribucioni i zgjedhur duhet ose të ketë një zgjidhje rrjeti të vet, e cila përcaktohet nga softueri dhe mbulon një gamë të gjerë kërkesash nga aplikacione të ndryshme ose infrastruktura, ose të mbështesë një nga implementimet e njohura të rrjeteve mbi CNI, duke përfshirë Flannel, Calico, kube-router ose OVN.

Implementimi i konteinerëve në prodhim po bëhet një drejtim kryesor, siç dëshmojnë rezultatet e anketës të kryer mbi sesionin Gartner për infrastrukturë, operacione dhe strategji në cloud (IOCS) në dhjetor 2018:

Praktikat më të mira dhe rekomandimet për ekzekutimin e kontejnerëve dhe Kubernetes në ambientet prodhuese
Siç shihet, 27% e të anketuarve tashmë po përdorin konteinerë në punën e tyre, ndërsa 63% planifikojnë ta bëjnë këtë.

në anketën Portworx dhe Aqua Security 24% e respondentëve raportuan se investojnë më shumë se gjysmë milioni dollarë në vit në teknologjitë e konteinerëve, ndërsa 17% e respondentëve shpenzojnë më shumë se një milion dollarë në vit për to. 

Artikulli është përgatitur nga ekipi i platformës cloud Zgjidhjet Cloud të Mail.ru.

Çfarë tjetër të lexoni në këtë temë:

  1. Praktikat më të mira DevOps: raporti DORA.
  2. Kubernetes në frymën e pirateve me një shabllon për implementim.
  3. 25 mjete të dobishme për zbatimin dhe implementimin e Kubernetes.

Burimi: habr.com

Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë 🔥 Bli një hosting të besueshëm për faqet me mbrojtje DDoS, VPS VDS serverë | ProHoster