Parimad praktikad ja soovitused konteinerite ja Kubernetes'i käitamiseks tootmisringkondades.

Parimad praktikad ja soovitused konteinerite ja Kubernetes'i käitamiseks tootmisringkondades.
Konteineritehnoloogiate ökosüsteem areneb ja muutub kiiresti, mistõttu on selles valdkonnas häid tööpraktikaid vähe. Sellegipoolest kasutatakse Kubernetes't ja konteinereid üha enam — nii vanade rakenduste moderniseerimiseks kui ka uute pilverakenduste arendamiseks. 

Meeskond Mail.ru Kubernetes aaS kogus ennustusi, nõuandeid ja parimaid praktikaid turuliidritele Gartnerilt, 451 Researchilt, StacxRoXilt ja teistelt. Need aitavad tagada ja kiirendada konteinerite juurutamist tootmisringkondades.

Kuidas mõista, kas teie ettevõte on valmis konteineritootmiskeskkonnas juurutama?

Gartneri andmetel, kasutab 2022. aastal üle 75% organisatsioonidest tootmises konteineriseeritud rakendusi. See on oluliselt rohkem kui praegu, kui selliseid rakendusi kasutab alla 30% ettevõtteid. 

Vastavalt 451 Researchile, prognoositav turg konteineritehnoloogiate rakendamiseks 2022. aastal ulatub 4,3 miljardi dollarini. See on enam kui kahekordne summa võrreldes 2019. aasta prognoosidega, turu kasvutempo on 30%.

V Portworxi ja Aqua Security uuringus 87% vastanutest teatas, et nad kasutavad praegu konteineritehnoloogiaid. Võrdluseks — 2017. aastal oli selliseid vastajaid 55%. 

Kuigi huvi ja konteinerite rakendamine kasvavad, nõuab nende tootmisse viimine koolitust tehnoloogilise küpsuse ja oskuste puudu tõttu. Organisatsioonid peavad realistlikult vaatama äri protsesside poole, mis nõuavad rakenduste konteineriseerimist. IT-juhid peaksid hindama, kas neil on oskuste komplekt, et edasi liikuda, arvestades kiire koolituse vajadust. 

Ekspert Gartner arvavad, et allolevad küsimused aitavad mõista, kas olete valmis konteinerite tootmisse rakendamiseks:

Parimad praktikad ja soovitused konteinerite ja Kubernetes'i käitamiseks tootmisringkondades.

Kõige sagedasemad vead konteinerite tootmises rakendamisel

Organisatsioonid alahindavad sageli jõupingutusi, mis on vajalikud konteinerite tootmises toimimiseks. Gartner leidis mitmeid levinud vigu kliendi stsenaariumites konteinerite kasutamisel tootmiskeskkondades:

Parimad praktikad ja soovitused konteinerite ja Kubernetes'i käitamiseks tootmisringkondades.

Kuidas tagada konteinerite turvalisus

Turvalisusega ei saa tegeleda «hiljem». See peab olema integreeritud DevOpsi protsessi, mistõttu on isegi loodud spetsiaalne termin - DevSecOps. Organisatsioonid peavad planeerima konteinerikeskkonna kaitset kogu arenduse elutsükli vältel, mis hõlmab koostamise ja arendamise protsessi, rakenduse juurutamist ja käivitamist.

Gartneri soovitused

  1. Integreerige rakenduspiltide skaneerimisprotsess haavatavuste avastamiseks pideva integreerimise/pideva pakkumise (CI/CD) torustikku. Rakendusi skaneeritakse tarkvara koostamise ja käivitamise etappidel. Rõhutage komponentide, avatud lähtekoodiga teekide ja raamistikute skaneerimise ning tuvastamise vajadust. Arendajate poolt vanade haavatavate versioonide kasutamine on üks peamisi konteinerite haavatavuste põhjuseid.
  2. Parandage konfiguratsiooni Interneti Turvakeskuse (CIS), mis on saadaval nii Dockerile kui ka Kubernetesile, testide abil.
  3. Kasutage kindlasti juurdepääsukontrolli, tagage ülesannete eristamine ja rakendage saladuste haldamise poliitika. Selliseid konfidentsiaalseid andmeid nagu Secure Sockets Layer (SSL) võtmed või andmebaasi mandaadid krüpteeritakse orkestreerija või kolmandate osapoolte haldusteenuste abil ning need antakse välja toimimise ajal.
  4. Vältige kõrgendatud õigustega konteinerite kasutamist turvapoliitika haldamise kaudu, mis vähendab võimalikke häkkimise riske.
  5. Kasutage turvatööriistu, mis pakuvad valgeid loendeid, käitumismonitorimist ja anomaaliate tuvastamist, et vältida pahatahtlikke tegevusi.

Soovitused StacxRoxilt:

  1. Kasutage Kubernetes'i integreeritud funktsioone. Konfigureerige kasutajate juurdepääs rollide kaudu. Veenduge, et te ei annaks üksikutele isikutele liigseid õigusi, isegi kui minimaalsete vajalike õiguste üle mõtlemine võib võtta aega. Võib tunduda ahvatlev anda klastrihaldurile laiad õigused, kuna see säästab aega algfaasis. Kuid iga kompromiss või vale konto seadistus võib hiljem kaasa tuua tõsiseid tagajärgi. 
  2. Vältige juurdepääsuõiguste dubleerimist. Mõnikord on kasulik teha nii, et erinevad rollid kattuvad, kuid see võib põhjustada kasutuseeskirjadega seotud probleeme ning luua "surmaalasid" õiguste eemaldamisel. Samuti on oluline eemaldada kasutamata ja mitteaktiivsed rollid.
  3. Seadke võrgu politiseerimine: isoleerige moodulid, et piirata juurdepääsu neile; lubage selgelt interneti juurdepääs neile moodulitele, kellel see vajalik on, kasutades silte; lubage selgelt suhtlus nende moodulite vahel, kes peavad omavahel suhtlema. 

Kuidas korraldada konteinerite ja nende teenuste jälgimist

Turvalisus ja jälgimine — peamised probleemid ettevõtetes Kubernetes klastrite juurutamisel. Arendajad keskenduvad sageli rohkem rakenduste funktsioonidele, mida nad arendavad, kui nende rakenduste jälgimise aspektidele

Gartneri soovitused:

  1. Püüdke jälgida konteinerite või teenuste seisukorda koos host-süsteemide jälgimisega.
  2. Eelistage tootjaid ja tööriistu, millel on süvaintegratsioon konteinerite orkestreerimisega, eriti Kubernetesega.
  3. Valige tööriistad, mis pakuvad detailset logimist, automaatset teenuste tuvastamist ja reaalajas soovitusi analüütika ja/või masinõppe abil.

SolarWinds'i blogis soovitatakse:

  1. Kasutage tööriistu konteineri automaatseks tuvastamiseks ja jälgimiseks, jõudluse metrikate, nagu CPU, mälu ja tööaja seose jälgimiseks.
  2. Tagage optimaalne ressursiplaneerimine, prognoosides võime kahanemise tähtaegu konteinerite jälgimise näitajate põhjal.
  3. Organiseer rakenduste jälgimine konteinerites saadud kättesaadavuse ja jõudluse näitajate alusel, mis on kasulik nii mahutavuse planeerimiseks kui ka soorituse probleemide lahendamiseks.
  4. Automatiseerige tööprotsessid, pakkudes konteineritele ja nende rakenduskeskkondadele halduse ja laiendamise toetust.
  5. Automatiseerige juurdepääsu kontroll, et jälgida kasutajabaasi, keelata aegunud ja külalisarve, ning eemaldada liigsed õigused.
  6. Veenduge, et teie tööriistakogum suudab jälgida neid konteinerite ja rakendusi erinevates keskkondades (pilves, kohalikus või hübriidses) infrastruktuuri, võrgu, süsteemide ja rakenduste jõudluse visualiseerimiseks ja vastendamiseks.

Kuidas andmeid talletada ja nende turvalisust tagada

Konteinerite arvu suurenemisega, millel on olek, peavad kliendid arvestama andmete asukohta väljaspool hosti, samuti nende andmete kaitsmise vajadusega. 

Portworxi ja Aqua Security uuringu andmetel küsitlusAndmete turvalisus on enamikule vastanutest (61%) esitatud probleemide loetelus esikohal. 

Andmete krüpteerimine on peamine turvalisuse strateegia (64%), kuid vastajad kasutavad ka käitusaja jälgimist (49%), registri haavatavuste skannimist (49%), CI/CD torude haavatavuste skannimist (49%) ja anomaaliate blokeerimist käitusaja kaitse abil (48%).

(49%), haavatavuse skaneerimine registrites (49%), haavatavuse skaneerimine CI/CD torudes (49%) ja anomaaliate blokeerimine käivitamise kaitse kaudu (48%).

Gartneri soovitused:

  1. Valige andmete salvestamise lahendused, mis põhinevad mikroteenuste arhitektuuril.Eelistage lahendusi, mis vastavad konteinerite teenuste andmete salvestamise nõuetele, on riistvarast sõltumatud, hallatavad API kaudu, omavad hajutatud arhitektuuri, toetavad kohalikke juurutusi ja avalikku pilve juurutusi.
  2. Vältige omandiõigusega pluginase ja liideseid. Valige tootjad, kes tagavad Kubernetes'e integreerimise ja toetavad standardseid liideseid nagu CSI (Container Storage Interfaces).

Kuidas töötada võrkudega.

Traditsiooniline ettevõttevõrgu mudel, kus IT-spetsialistid loovad arendus-, testimis-, kvaliteedi tagamise ja tootmisvõrgustikke iga projekti jaoks, ei pruugi alati kattuda pideva arenduse tööprotsessiga. Lisaks katab konteinerivõrk mitmeid tasandeid.

V blogis Magalix oleme kogunud üldised kõrgetasemelised põhimõtted, millele klastrite võrgulahenduse rakendamine peab vastama:

  1. Samal sõlmel planeeritud podid peavad saama andmeid vahetada teiste moodulitega ilma NAT-ta (võrguaadresside tõlkimine).
  2. Kõik süsteemi demonid (taustaprotsessid, nagu kubelet), mis töötavad teatud sõlmel, saavad suhelda samal sõlmel töötavate podidega.
  3. Podid, mis kasutavad hosti võrku, peavad suutma suhelda kõigi teiste podidega kõigil teistel sõlmedel ilma NAT-ta. Pange tähele, et hosti võrku toetatakse ainult Linuxi hostides.

Võrgulahendused peavad olema tihedalt seotud Kubernetes'e primitiivide ja poliitikatega. IT-juhtidel on oluline püüelda kõrge automaatika poole, et pakkuda arendajatele vajalikke tööriistu ja piisavat paindlikkust.

Gartneri soovitused:

  1. Uurige, kas teie CaaS (konteiner kui teenus) või teie SDN (tarkvara määratud võrk) toetab Kubernetes'e võrke. Kui ei või tugi on ebapiisav, kasutage oma konteinerite jaoks CNI (Container Network Interface) võrguinterfeisi, mis toetab vajalikku funktsionaalsust ja poliitikaid.
  2. Veenduge, et teie CaaS või PaaS (platvorm kui teenus) toetab sissetulevate kontrollerite ja/või koormuse tasakaalustajate loomist, mis jagavad sissetulevat liiklust klastrisõlmede vahel. Kui sellist võimalust ei ole, uurige kolmandate osapoolte proksi või teenuse mesh'i mehhanismide kasutamist.
  3. Koolitage oma võrginsenere Linuxi võrkude ja võrgu automatiseerimise tööriistade kasutamiseks, et vähendada oskuste lõhet ja suurendada paindlikkust.

Kuidas hallata rakenduste elutsüklit

Automatiseeritud ja katkematu rakenduste tarnimise jaoks tuleb konteinerite orkestreerimisele lisada teisi automatiseerimise tööriistu, nagu infrastruktuurikood (IaC) tooted. Nendeks on Chef, Puppet, Ansible ja Terraform. 

Vajalikud on ka rakenduste loomise ja juurutamise automatiseerimise vahendid (vt „Rakenduste juurutamise orkestreerimise maagiline kvadrant“). Konteinerid pakuvad ka laienemisvõimalusi, mis sarnanevad varasematele, mis eksisteerisid virtuaalmasinate (VM) juurutamisel. Seega peavad IT-juhtidel olema konteinerite elutsükli haldamise tööriistad..

Gartneri soovitused:

  1. Seadke konteinerite aluskuvajate standardid, arvesse võttes nende suurust, litsentseerimist ja arendajate lisa komponentide paindlikkust.
  2. Kasutage konfiguratsioonihaldussüsteeme konteinerite elutsükli haldamiseks, mis paigutavad konfiguratsiooni kihtidesse, lähtudes aluskuvajatest, mis on avalikes või privaatsetes hoidlatest.
  3. Integreerige CaaS platvorm automatiseerimise tööriistadega, et automatiseerida kogu rakenduse töövoog.

Kuidas hallata konteinerite orkestratoreid

Konteinerite juurutamiseks vajalikud põhifunktsioonid on saadaval orkestreerimise ja planeerimise tasanditel. Planeerimise käigus paigutatakse konteinerid klastris kõige optimaalsematesse hostidesse, vastavalt orkestreerimise tasandi nõuetele. 

Kubernetes on de facto konteinerite orkestreerimise standard, millel on aktiivne kogukond ja mida toetavad enamik juhtivaid kommertstootjaid. 

Gartneri soovitused:

  1. Määratlege põhivajadused turvahalduse, jälgimise, poliitikate haldamise, andmete salvestamise, võrguhalduse ja konteinerite elutsükliga seotud elementide jaoks.
  2. Nende nõuete alusel valige tööriist, mis vastab kõige paremini teie vajadustele ja kasutusstsenaariumidele.
  3. Kasutage Gartneri uuringute tulemusi (vt «Kuidas valida Kubernetes'i juurutusmudel»), et mõista erinevate Kubernetes'i juurutusmudelite eeliseid ja puudusi ning valida oma ülesande jaoks kõige sobivam.
  4. Valige pakkuja, kes suudab tagada hübriidooru kõikides keskkondades konteinerite järgimise, tiheda integreerimise tagamiseks backend-iga, ühiste haldusplaanide ja ühtsete hindamudelitega.

Kuidas kasutada pilveteenuste pakkujate võimalusi

Gartner peab, et huvi konteinerite kasutuselevõtu vastu avalikus IaaS-pilves kasvab, kuna CaaS-i valmis pakkumiste kergesti kättesaadavus ja nende pakkumiste tihe integreerimine teiste pilveteenuse pakkujate toodetega.

IaaS-pilved pakuvad ressursside tarbimist nõudmisel, kiiret skaleeritavust ja teenuste haldamist, mis aitab vältida sügavaid teadmisi infrastruktuurist ja selle hooldamisest. Enamik pilveteenuse pakkujatest pakuvad konteinerite haldamise teenust, mõned pakuvad mitmeid järgimisvõimalusi. 

Peamised juhtivad teenuste pilveteenuse pakkujad on esitatud tabelis: 

Pilveteenuse pakkuja
Teenuse tüüp
Toode/teenus

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

* Ei peida, me lisasime end tõlkesse 🙂

Avalikud pilveteenuste pakkujad lisavad pidevalt uusi funktsioone ja tooteid. Lähitulevikus arendavad pilveteenuste pakkujad hübriidpilvede ja mitme pilve keskkondade toe. 

Gartneri soovitused:

  1. Hinnake objektiivselt oma organisatsiooni võimet rakendada ja hallata sobivaid tööriistu ning kaaluge alternatiivseid pilvekonteineritöötlusteenuseid.
  2. Valige tarkvara hoolikalt, kasutage avatud lähtekoodi, kus see on võimalik.
  3. Valige teenusepakkujad, kellel on ühtsed tegevusmudelid hübriidkeskkondades, kes pakuvad hallatavaid klastreid ühest paneelist ning pakkujad, kes lihtsustavad IaaS-i iseseisvat kasutamist.

Mõned nõuanded Kubernetes aaS-i teenusepakkuja valimiseks Replexi blogist:

  1. Otsige distributsioone, mis toetavad kõrge käideldavust juba väljaandes. See hõlmab tuge mitmete põhistruktuuride, kõrge töövalmidusega komponentide etcd ning samuti varundamise ja taastamise toetust.
  2. Kubernetes'i keskkondade liikuvuse tagamiseks on parem valida pilveteenuse pakkujad, kes toetavad laia valikut juurutusmudeleid: kohalikest kuni hübriidsete ja mitme pilve lahendusteni. 
  3. Teenusepakkujate pakkumisi tuleks hinnata ka paigalduse, seadistamise ja klastrite loomise lihtsuse, samuti uuenduste, monitooringu ja tõrkeotsingu põhjal. Alusnõue on täielikult automatiseeritud klastrite uuenduste toetamine nullse seiskamisajaga. Valitud lahendus peab samuti võimaldama käivitada uuendusi käsitsi. 
  4. Identiteedi ja juurdepääsu haldamine on oluline nii turvalisuse kui ka haldamise seisukohalt. Veenduge, et valitud Kubernetes'i distributsioon toetab integreerimist organisatsioonis kasutatavate autentimis- ja autoriseerimistööriistadega. RBAC ja detailne juurdepääsu kontroll on samuti olulised funktsioonide komplektid.
  5. Valitud distributsioon peab kas omama oma võrgu lahendust, mida määratleb tarkvara ja mis katab laia valikut erinevate rakenduste või infrastruktuuri nõudeid, või toetama ühte populaarsetest CNI-põhistest võrgu rakendustest, sealhulgas Flannel, Calico, kube-router või OVN.

Konteinerite juurutamine tootmisse muutub peamiseks suunaks, mida kinnitavad küsitluse tulemused, mis viidi läbi Gartneri sessioonil infrastruktuuri, operatsioonide ja pilve strateegiate (IOCS) raames detsembris 2018:

Parimad praktikad ja soovitused konteinerite ja Kubernetes'i käitamiseks tootmisringkondades.
Nagu näeme, kasutab 27% küsitletutest juba konteinerite töötlemisel, ja 63% kavatseb seda teha.

V Portworxi ja Aqua Security uuringus 24% vastanutest teatas, et investeerib igal aastal konteineritehnoloogiatele üle poole miljoni dollari, samas kui 17% vastanutest kulutab neile rohkem kui miljon dollarit aastas. 

Artikkel on koostatud pilveplatvormi meeskonna poolt. Mail.ru Cloud Solutions.

Mida veel teemast lugeda:

  1. Parimad DevOps praktikud: DORA raport.
  2. Kubernetes piraatluses juurutamise malliga.
  3. 25 kasulikku tööriista Kubernetes'e juurutamiseks ja rakendamiseks.

Allikas: habr.com

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster