
Ekosistemi i teknologjive të kontejnerizimit po zhvillohet dhe po ndryshon me shpejtësi, ndaj në këtë fushë ende mungojnë praktikat e mira të provuara. Megjithatë, Kubernetes dhe kontejnerët po përdoren gjithnjë e më shpesh, si për modernizimin e aplikacioneve të vjetra, ashtu edhe për zhvillimin e aplikacioneve moderne cloud.
Ekipa ka mbledhur parashikime, këshilla dhe praktikat më të mira nga Gartner, 451 Research, StacxRoх dhe të tjerë për drejtuesit e tregut. Ato do të ndihmojnë në sigurimin dhe përshpejtimin e vendosjes së kontejnerëve në mjedise prodhimi.
Si të kuptoni nëse kompania juaj është gati të vendosë kontejnerë në një mjedis prodhimi
, në vitin 2022 më shumë se 75% e organizatave do të përdorin aplikacione të kontejnerizuara në prodhim. Kjo është ndjeshëm më shumë se aktualisht, kur aplikacione të tilla përdoren nga më pak se 30% e kompanive.
Sipas , tregu i parashikuar për përdorimin e teknologjive të kontejnerëve në vitin 2022 do të arrijë në 4,3 miliardë dollarë. Kjo është më shumë se dyfishi i shumave të parashikuara në vitin 2019, ndërsa ritmi i rritjes së tregut është 30%.
Në 87% e të anketuarve deklaruan se aktualisht përdorin teknologji të kontejnerëve. Për krahasim, në vitin 2017 ky tregues ishte 55%.
Pavarësisht interesit në rritje dhe zgjerimit të përdorimit të kontejnerëve, vënia e tyre në prodhim kërkon trajnim për shkak të papjekurisë teknologjike dhe mungesës së know-how. Organizatat duhet t’i vlerësojnë në mënyrë realiste proceset e biznesit që kërkojnë kontejnerizimin e aplikacioneve. Drejtuesit e IT duhet të vlerësojnë nëse kanë grupin e duhur të aftësive për të ecur përpara, duke pasur parasysh nevojën për mësim të shpejtë.
mendojnë se pyetjet në figurën më poshtë do t’ju ndihmojnë të kuptoni nëse jeni gati për vendosjen e kontejnerëve në prodhim:

Gabimet më të shpeshta gjatë përdorimit të kontejnerëve në prodhim
Organizatat shpesh nënvlerësojnë përpjekjet e nevojshme për operimin e kontejnerëve në prodhim. disa gabime të zakonshme në skenarët e klientëve gjatë përdorimit të kontejnerëve në mjedise prodhimi:

Si të siguroni sigurinë e kontejnerëve
Me sigurinë nuk mund të merresh «më vonë». Ajo duhet të jetë e integruar në procesin DevOps, prandaj është shfaqur edhe një term i veçantë — DevSecOps. Organizatat duhet të planifikojnë gjatë gjithë ciklit jetësor të zhvillimit, i cili përfshin procesin e ndërtimit dhe zhvillimit, vendosjen dhe ekzekutimin e aplikacionit.
:
- Integroni procesin e skanimit të imazheve të aplikacionit për të gjetur dobësi në pipeline-in e integrimit të vazhdueshëm/dorëzimit të vazhdueshëm (CI/CD). Aplikacionet skanohen në fazat e ndërtimit dhe ekzekutimit të softuerit. Theksoni domosdoshmërinë e skanimit dhe identifikimit të komponentëve me kod të hapur, bibliotekave dhe framework-eve. Përdorimi nga zhvilluesit i versioneve të vjetra dhe të cenueshme është një nga shkaqet kryesore të dobësive të kontejnerëve.
- Përmirësoni konfigurimin me ndihmën e testeve të Center for Internet Security (), të cilat janë të disponueshme si për Docker, ashtu edhe për Kubernetes.
- Zbatoni patjetër kontrollin e aksesit, siguroni ndarjen e përgjegjësive dhe vendosni një politikë të menaxhimit të sekreteve. Informacioni konfidencial, si çelësat Secure Sockets Layer (SSL) ose kredencialet e bazës së të dhënave, enkriptohet nga orkestruesi ose nga shërbime të palëve të treta të menaxhimit dhe ofrohet gjatë kohës së ekzekutimit
- Shmangni kontejnerët me privilegje të larta përmes menaxhimit të politikave të sigurisë; kjo do të zvogëlojë rreziqet e mundshme të komprometimit.
- Përdorni mjete sigurie që ofrojnë lista të bardha, monitorim të sjelljes dhe zbulim të anomalive për të parandaluar veprimet keqdashëse.
:
- Përdorni mundësitë e integruara të Kubernetes. Konfiguroni aksesin për përdoruesit duke përdorur role. Sigurohuni që të mos jepni leje të panevojshme për subjekte të veçanta, edhe nëse mund të duhet pak kohë për të përcaktuar lejet minimale të nevojshme. Mund të duket joshëse t’i jepen administratorit të cluster-it privilegje të gjera, pasi kjo kursen kohë në fazën fillestare. Megjithatë, çdo komprometim ose gabim në llogari mund të çojë më vonë në pasoja shkatërruese.
- Shmangni dublimin e të drejtave të aksesit. Ndonjëherë mund të jetë e dobishme që rolet e ndryshme të mbivendosen, por kjo mund të sjellë probleme në operim dhe të krijojë edhe «zona të vdekura» gjatë heqjes së lejeve. Gjithashtu, është e rëndësishme të hiqen rolet e papërdorura dhe joaktive.
- Vendosni politika rrjeti: izoloni modulet për të kufizuar aksesin në to; lejoni shprehimisht aksesin në internet për ato module që kanë nevojë për të, duke përdorur etiketa; lejoni shprehimisht komunikimin mes atyre moduleve që duhet të komunikojnë me njëri-tjetrin.
Si të organizoni monitorimin e kontejnerëve dhe të shërbimeve brenda tyre
Siguria dhe monitorimi janë gjatë vendosjes së klasterëve Kubernetes. Zhvilluesit janë gjithmonë më të përqendruar te funksionet e aplikacioneve që zhvillojnë sesa te aspektet e .
:
- Përpiquni të monitoroni gjendjen e kontejnerëve ose të shërbimeve brenda tyre së bashku me monitorimin e sistemeve host.
- Jepni përparësi ofruesve dhe mjeteve me integrim të thellë në orkestrimin e kontejnerëve, veçanërisht Kubernetes.
- Zgjidhni mjete që ofrojnë regjistrim të detajuar të ngjarjeve, zbulim automatik të shërbimeve dhe rekomandime në kohë reale duke përdorur analitikë dhe/ose mësim makinerik.
:
- Përdorni mjete për zbulimin automatik dhe gjurmimin e metrikave të kontejnerëve, si edhe për korrelacionin e metrikave të performancës, si CPU, RAM dhe koha e funksionimit pa ndërprerje.
- Siguroni planifikim optimal të kapacitetit duke parashikuar afatet e shterimit të tij bazuar në treguesit e monitorimit të kontejnerëve.
- Organizoni monitorimin e aplikacioneve të vendosura në kontejnerë sipas parametrave të 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.
- Automatizoni proceset e punës duke ofruar mbështetje për menaxhimin dhe shkallëzimin e kontejnerëve dhe të mjediseve ku ato vendosen.
- Automatizoni kontrollin e aksesit për të gjurmuar bazën e përdoruesve, çaktivizuar llogaritë e vjetruara dhe të ftuarve, si dhe për të hequr privilegjet e tepërta.
- Sigurohuni që paketa juaj e mjeteve mund t’i monitorojë këta kontejnerë dhe aplikacione në mjedise të ndryshme (cloud, lokale ose hibride) për të vizualizuar dhe krahasuar performancën në infrastrukturë, rrjet, sisteme dhe aplikacione.
Si t’i ruani të dhënat dhe të garantoni sigurinë e tyre
Me rritjen e numrit të kontejnerëve me gjendje që përdoren në punë, klientët duhet të marrin parasysh vendndodhjen e të dhënave jashtë hostit, si edhe nevojën për t’i mbrojtur ato.
Sipas , siguria e të dhënave renditet e para në listën e shqetësimeve të sigurisë të përmendura nga shumica e të anketuarve (61%).
Enkriptimi i të dhënave është strategjia kryesore e sigurisë (64%), por të anketuarit përdorin gjithashtu monitorimin në kohë ekzekutimi
(49%), skanimin e dobësive në regjistra (49%), skanimin e dobësive në pipeline-et CI/CD (49%) dhe bllokimin e anomalive përmes mbrojtjes në kohë ekzekutimi (48%).
:
- Zgjidhni zgjidhje për ruajtjen e të dhënave të ndërtuara mbi parimet e . Është më mirë të zgjidhni ato që përmbushin kërkesat e ruajtjes së të dhënave për shërbimet e kontejnerëve, janë të pavarura nga hardueri, menaxhohen përmes API, kanë arkitekturë të shpërndarë dhe mbështesin si vendosjen lokale, ashtu edhe vendosjen në cloud publik.
- Shmangni plugin-et dhe ndërfaqet pronësore. Zgjidhni ofrues që sigurojnë integrim me Kubernetes dhe mbështesin ndërfaqe standarde, si CSI (Container Storage Interfaces).
Si të punoni me rrjetet
Modeli tradicional i rrjetit korporativ, ku specialistët e IT krijojnë mjedise rrjeti për zhvillim, testim, sigurim cilësie dhe prodhim për çdo projekt, jo gjithmonë përputhet mirë me rrjedhën e punës së zhvillimit të vazhdueshëm. Për më tepër, rrjetet e kontejnerëve shtrihen në disa shtresa.
Në rregullat e nivelit të lartë që duhet të përmbushë zbatimi i një zgjidhjeje rrjeti për klaster:
- Pod-et e planifikuara në të njëjtin nyje duhet të jenë në gjendje të shkëmbejnë të dhëna me module të tjera pa përdorur NAT (përkthimi i adresave të rrjetit).
- Të gjithë daemonët e sistemit (proceset në sfond, si p.sh. kubelet) që ekzekutohen në një nyje të caktuar duhet të jenë në gjendje të ndërveprojnë me pod-et që ekzekutohen në të njëjtën nyje.
- Pod-et që përdorin duhet të jenë në gjendje të komunikojnë me të gjitha pod-et e tjera në të gjitha nyjet e tjera pa përdorur NAT. Vini re se rrjeti i hostit mbështetet vetëm në hoste Linux.
Zgjidhjet e rrjetit duhet të jenë të integruara ngushtë me primitivët dhe politikat e Kubernetes. Drejtuesit e IT duhet të synojnë një nivel të lartë automatizimi të rrjetit, t'u ofrojnë zhvilluesve mjetet e duhura dhe fleksibilitet të mjaftueshëm.
:
- Verifikoni nëse CaaS-i juaj (container as a service) ose rrjeti juaj SDN (Software Defined Network) mbështet rrjetet Kubernetes. Nëse jo, ose nëse mbështetja është e pamjaftueshme, përdorni për kontejnerët tuaj ndërfaqen e rrjetit CNI (Container Network Interface), e cila mbështet funksionalitetin dhe politikat e nevojshme.
- Sigurohuni që CaaS-i ose PaaS-i juaj (platforma si shërbim) mbështet krijimin e kontrollorëve hyrës dhe/ose balancuesve të ngarkesës që shpërndajnë trafikun hyrës midis nyjeve të klasterit. Nëse kjo mundësi mungon, shqyrtoni përdorimin e proxy-ve të palëve të treta ose mekanizmave service mesh.
- Trajnoni inxhinierët tuaj të rrjetit për të punuar me rrjetet Linux dhe mjetet e automatizimit të rrjetit, në mënyrë që të zvogëloni boshllëkun e aftësive dhe të rrisni fleksibilitetin.
Si të menaxhoni ciklin jetësor të aplikacioneve
Për dorëzim të automatizuar dhe pa ndërprerje të aplikacioneve, orkestrimi i kontejnerëve duhet të plotësohet me mjete të tjera automatizimi, si produktet e infrastrukturës si kod (IaC). Këtu përfshihen Chef, Puppet, Ansible dhe Terraform.
Gjithashtu nevojiten mjete për automatizimin e build-it dhe deployment-it të aplikacioneve (shih “”). Kontejnerët ofrojnë gjithashtu mundësi zgjerimi të ngjashme me ato që ekzistonin gjatë vendosjes së makinave virtuale (VM). Prandaj, drejtuesit e IT duhet të kenë .
:
- Vendosni standarde për imazhet bazë të kontejnerëve, duke marrë parasysh madhësinë, licencimin dhe fleksibilitetin për shtimin e komponentëve nga zhvilluesit.
- Përdorni sisteme të menaxhimit të konfigurimit për të administruar ciklin jetësor të kontejnerëve, ku konfigurimi vendoset në shtresa mbi bazën e imazheve bazë që ndodhen në depo publike ose private.
- Integroni platformën CaaS me mjetet e automatizimit për të automatizuar të gjithë rrjedhën e punës së aplikacionit.
Si të menaxhoni kontejnerët me ndihmën e orkestruesve
Aftësitë kryesore funksionale për vendosjen e kontejnerëve ofrohen në nivelet e orkestrimit dhe planifikimit. Gjatë planifikimit, kontejnerët vendosen në hostet më optimale brenda klasterit, sipas kërkesave të përcaktuara nga niveli i orkestrimit.
Kubernetes është bërë de facto standardi i orkestrimit të kontejnerëve, me një komunitet aktiv, dhe mbështetet nga shumica e ofruesve kryesorë komercialë.
:
- Përcaktoni kërkesat bazë për kontrollet e sigurisë, monitorimin, menaxhimin e politikave, ruajtjen e të dhënave, menaxhimin e rrjeteve dhe ciklin jetësor të kontejnerëve.
- Bazuar në këto kërkesa, zgjidhni mjetin që i përshtatet më së miri nevojave dhe skenarëve tuaj të përdorimit.
- Përdorni studimet e Gartner (shihni “”) për të kuptuar avantazhet dhe disavantazhet e modeleve të ndryshme të vendosjes së Kubernetes dhe për të zgjedhur atë më të përshtatshmin për detyrën tuaj.
- Zgjidhni një ofrues që mund të sigurojë orkestrim hibrid për kontejnerët e punës në disa mjedise, me integrim të ngushtë me backend-et, plane të përbashkëta menaxhimi dhe modele çmimesh të qëndrueshme.
Si të përdorni mundësitë e ofruesve cloud
, interesi për vendosjen e kontejnerëve në cloud publik IaaS po rritet për shkak të disponueshmërisë së ofertave të gatshme CaaS, si edhe integrimit të ngushtë të këtyre ofertave me produkte të tjera të ofruara nga ofruesit cloud.
Cloud-et IaaS ofrojnë përdorim të burimeve sipas kërkesës, shkallëzim të shpejtë dhe , i cili ndihmon të shmanget nevoja për njohuri të thella mbi infrastrukturën dhe mirëmbajtjen e saj. Shumica e ofruesve cloud ofrojnë shërbim të menaxhimit të kontejnerëve, ndërsa disa prej tyre ofrojnë disa opsione orkestrimi.
Ofruesit kryesorë të shërbimeve të menaxhuara në cloud janë paraqitur në tabelë:
Ofruesi cloud
Lloji i shërbimit
Produkt/shërbim
Alibaba
Native Cloud Service
Alibaba Cloud Container Service, Alibaba Cloud Container Service for Kubernetes
Amazon Web Services (AWS)
Native Cloud Service
Amazon Elastic Container Services (ECS), Amazon ECS for Kubernetes (EKS), AWS Fargate
Giant Swarm
MSP
Giant Swarm Managed Kubernetes Infrastructure
Google
Native Cloud Service
Google Container Engine (GKE)
IBM
Native Cloud Service
IBM Cloud Kubernetes Service
Microsoft
Native Cloud Service
Azure Kubernetes Service, Azure Service Fabric
Oracle
Native Cloud Service
OCI Container Engine for Kubernetes
Platform9
MSP
Managed Kubernetes
Red Hat
Hosted Service
OpenShift Dedicated & Online
VMware
Hosted Service
Cloud PKS (Beta)
Mail.ru Cloud Solutions*
Native Cloud Service
Mail.ru Cloud Containers
* Nuk do ta fshehim, këtë e shtuam vetë gjatë përkthimit 🙂
Ofruesit e cloud-eve publike po shtojnë gjithashtu funksionalitete të reja dhe po lançojnë produkte lokale. Në të ardhmen e afërt, ofruesit cloud do të zgjerojnë mbështetjen për cloud hibrid dhe mjedise multi-cloud.
:
- Vlerësoni në mënyrë objektive aftësinë e organizatës suaj për të vendosur dhe menaxhuar mjetet përkatëse, si dhe shqyrtoni shërbime alternative për menaxhimin e konteinerëve në cloud.
- Zgjidhni me kujdes softuerin dhe përdorni open source aty ku është e mundur.
- Zgjidhni ofrues me modele operative të unifikuara në mjedise hibride, që ofrojnë menaxhim të klasterëve të bashkuar nga një panel i vetëm, si edhe ofrues që e thjeshtojnë përdorimin e pavarur të IaaS.
:
- Ia vlen të kërkoni distribucione që mbështesin gatishmëri të lartë që në konfigurimin fillestar. Kjo përfshin mbështetjen për disa arkitektura kryesore, komponentë etcd me disponueshmëri të lartë, si edhe kopjeruajtje dhe rikuperim.
- 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 vendosjeje: nga lokale te hibride dhe multi-cloud.
- Ofertat e ofruesve duhen vlerësuar edhe nga pikëpamja e thjeshtësisë së konfigurimit, instalimit dhe krijimit të klasterit, si edhe e përditësimeve, monitorimit dhe zgjidhjes së problemeve. Kërkesa bazë është mbështetja për përditësime plotësisht të automatizuara të klasterit pa kohë jofunksionimi. Zgjidhja e përzgjedhur duhet gjithashtu të lejojë nisjen manuale të përditësimeve.
- Menaxhimi i identitetit dhe aksesit është i rëndësishëm si nga këndvështrimi i sigurisë, ashtu edhe i administrimit. Sigurohuni që distribucioni Kubernetes që zgjidhni të mbështesë integrimin me mjetet e autentikimit dhe autorizimit që përdoren në kompaninë tuaj. RBAC dhe kontrolli i detajuar i aksesit janë gjithashtu funksionalitete thelbësore.
- Distribucioni i zgjedhur duhet ose të ketë zgjidhjen e vet të rrjetit të përcaktuar me softuer, e cila mbulon një gamë të gjerë kërkesash të aplikacioneve dhe infrastrukturës, ose të mbështesë një nga implementimet e njohura të rrjeteve të bazuara në CNI, përfshirë Flannel, Calico, kube-router ose OVN.
Përdorimi i kontejnerëve në mjediset e prodhimit po bëhet drejtimi kryesor, siç tregojnë rezultatet e anketës së kryer në mbi infrastrukturën, operacionet dhe strategjitë cloud (IOCS) në dhjetor 2018:

Siç e shohim, 27% e të anketuarve tashmë përdorin kontejnerë në punë, ndërsa 63% planifikojnë ta bëjnë këtë.
Në 24% e të anketuarve thanë se investojnë më shumë se gjysmë milioni dollarë në vit në teknologjitë e kontejnerëve, ndërsa 17% shpenzojnë për to mbi një milion dollarë në vit.
Artikulli është përgatitur nga ekipi i platformës cloud .
Çfarë tjetër të lexoni mbi këtë temë:
- .
- .
- .
Burimi: habr.com
