Najboljše prakse in najboljše prakse za izvajanje vsebnikov in Kubernetes v produkcijskih okoljih

Najboljše prakse in najboljše prakse za izvajanje vsebnikov in Kubernetes v produkcijskih okoljih
Ekosistem tehnologije kontejnerizacije se hitro razvija in spreminja, zato na tem področju primanjkuje dobrih delovnih praks. Vendar se Kubernetes in vsebniki vse pogosteje uporabljajo, tako za posodobitev podedovanih aplikacij kot za razvoj sodobnih aplikacij v oblaku. 

Ekipa Kubernetes aaS iz Mail.ru zbrani napovedi, nasveti in najboljše prakse za vodilne na trgu Gartnerja, 451 Research, StacxRox in drugih. Omogočili in pospešili bodo uvajanje kontejnerjev v produkcijska okolja.

Kako vedeti, ali je vaše podjetje pripravljeno na namestitev vsebnikov v produkcijskem okolju

Po mnenju Gartnerja, leta 2022 bo več kot 75 % organizacij v proizvodnji uporabljalo kontejnerske aplikacije. To je bistveno več kot trenutno, ko tovrstne aplikacije uporablja manj kot 30 % podjetij. 

Glede na Raziskave 451Predvideni trg za aplikacije kontejnerske tehnologije v letu 2022 bo znašal 4,3 milijarde USD, kar je več kot dvakrat več od zneska, predvidenega v letu 2019, s stopnjo rasti trga 30 %.

В Raziskava Portworx in Aqua Security 87 % vprašanih je odgovorilo, da trenutno uporabljajo kontejnerske tehnologije. Za primerjavo, leta 2017 je bilo takšnih 55 % anketirancev. 

Kljub naraščajočemu zanimanju in sprejemanju zabojnikov je za njihovo uvedbo v proizvodnjo potrebna krivulja učenja zaradi tehnološke nezrelosti in pomanjkanja znanja. Organizacije morajo biti realistične glede poslovnih procesov, ki zahtevajo shranjevanje aplikacij. Vodje IT bi morali oceniti, ali imajo nabor spretnosti za napredek s potrebo po hitrem učenju. 

Gartnerjevi strokovnjaki Menimo, da vam bodo vprašanja na spodnji sliki pomagala ugotoviti, ali ste pripravljeni na uvedbo vsebnikov v proizvodnji:

Najboljše prakse in najboljše prakse za izvajanje vsebnikov in Kubernetes v produkcijskih okoljih

Najpogostejše napake pri uporabi kontejnerjev v proizvodnji

Organizacije pogosto podcenjujejo napor, ki je potreben za delovanje zabojnikov v proizvodnji. Gartner odkril Nekaj ​​pogostih napak v scenarijih strank pri uporabi vsebnikov v produkcijskih okoljih:

Najboljše prakse in najboljše prakse za izvajanje vsebnikov in Kubernetes v produkcijskih okoljih

Kako ohraniti vsebnike varne

Varnosti ni mogoče obravnavati "kasneje". Vgrajen mora biti v proces DevOps, zato obstaja celo poseben izraz – DevSecOps. Organizacije morajo načrtovati varovanje okolja vaše posode v celotnem razvojnem ciklu, ki vključuje gradnjo in razvojni proces, uvajanje in zagon aplikacije.

Priporočila podjetja Gartner

  1. Integrirajte postopek skeniranja slik aplikacije za ranljivosti v vaš cevovod neprekinjene integracije/neprekinjene dostave (CI/CD). Aplikacije se pregledajo v fazi gradnje in zagona programske opreme. Poudarite potrebo po skeniranju in prepoznavanju odprtokodnih komponent, knjižnic in ogrodij. Razvijalci, ki uporabljajo stare, ranljive različice, so eden glavnih vzrokov za ranljivost vsebnika.
  2. Izboljšajte svojo konfiguracijo s centrom za teste internetne varnosti (CIS), ki so na voljo za Docker in Kubernetes.
  3. Bodite prepričani, da uveljavite nadzor dostopa, zagotovite ločitev dolžnosti in izvajate politiko upravljanja skrivnosti. Občutljive informacije, kot so ključi plasti varnih vtičnic (SSL) ali poverilnice baze podatkov, šifrirajo orkestrator ali storitve upravljanja tretjih oseb in so izpostavljene med izvajanjem
  4. Izogibajte se povišanim vsebnikom z upravljanjem varnostnih politik, da zmanjšate morebitna tveganja vdora.
  5. Uporabite varnostna orodja, ki zagotavljajo seznam dovoljenih, spremljanje vedenja in zaznavanje anomalij, da preprečite zlonamerno dejavnost.

Priporočila podjetja StacxRox:

  1. Izkoristite vgrajene zmogljivosti Kubernetesa. Nastavite dostop za uporabnike z vlogami. Prepričajte se, da posameznim subjektom ne podelite nepotrebnih dovoljenj, čeprav lahko traja nekaj časa, da razmislite o minimalnih zahtevanih dovoljenjih. Morda je skušnjava, da bi skrbniku gruče dali široke privilegije, saj to na začetku prihrani čas. Vsak kompromis ali napake v računu pa lahko pozneje povzročijo uničujoče posledice. 
  2. Izogibajte se podvojenim dovoljenjem za dostop. Včasih je lahko koristno, da se različne vloge prekrivajo, vendar lahko to privede do operativnih težav in ustvari slepe pege pri odstranjevanju dovoljenj. Prav tako je pomembno odstraniti neuporabljene in neaktivne vloge.
  3. Nastavite omrežne pravilnike: izolirajte module, da omejite dostop do njih; izrecno dovoli dostop do interneta tistim modulom, ki ga potrebujejo, z uporabo oznak; Izrecno dovolite komunikacijo med tistimi moduli, ki morajo komunicirati med seboj. 

Kako organizirati spremljanje zabojnikov in storitev v njih

Varnost in nadzor - glavne težave podjetij pri uvajanju gruč Kubernetes. Razvijalci so vedno bolj osredotočeni na značilnosti aplikacij, ki jih razvijajo, namesto na vidike spremljanje teh aplikacij

Priporočila podjetja Gartner:

  1. Poskusite spremljati stanje vsebnikov ali storitev v njih v povezavi z nadzorom gostiteljskih sistemov.
  2. Poiščite prodajalce in orodja z globoko integracijo v orkestracijo vsebnikov, zlasti Kubernetes.
  3. Izberite orodja, ki zagotavljajo podrobno beleženje, samodejno odkrivanje storitev in priporočila v realnem času z uporabo analitike in/ali strojnega učenja.

Blog SolarWinds svetuje:

  1. Uporabite orodja za samodejno odkrivanje in sledenje meritvam vsebnika, ki povezujejo meritve zmogljivosti, kot so CPU, pomnilnik in čas delovanja.
  2. Zagotovite optimalno načrtovanje zmogljivosti s predvidevanjem datumov praznjenja zmogljivosti na podlagi meritev spremljanja vsebnika.
  3. Spremljajte vsebniške aplikacije glede razpoložljivosti in zmogljivosti, kar je uporabno za načrtovanje zmogljivosti in odpravljanje težav z zmogljivostjo.
  4. Avtomatizirajte poteke dela z zagotavljanjem podpore za upravljanje in skaliranje vsebnikov in njihovih gostiteljskih okolij.
  5. Avtomatizirajte nadzor dostopa za spremljanje baze uporabnikov, onemogočite zastarele račune in račune gostov ter odstranite nepotrebne privilegije.
  6. Zagotovite, da lahko vaš nabor orodij spremlja te vsebnike in aplikacije v več okoljih (v oblaku, na mestu uporabe ali hibridno) za vizualizacijo in primerjavo uspešnosti v infrastrukturi, omrežju, sistemih in aplikacijah.

Kako shraniti podatke in zagotoviti njihovo varnost

Z naraščanjem vsebnikov delavcev s stanjem morajo stranke upoštevati prisotnost podatkov zunaj gostitelja in potrebo po zaščiti teh podatkov. 

Glede na Raziskava Portworx in Aqua Security, je varnost podatkov na vrhu seznama varnostnih skrbi, ki jih navaja večina anketirancev (61 %). 

Šifriranje podatkov je glavna varnostna strategija (64 %), vendar anketiranci uporabljajo tudi nadzor med izvajanjem

(49 %), skeniranje registrov za ranljivosti (49 %), iskanje ranljivosti v cevovodih CI/CD (49 %) in blokiranje anomalij z zaščito med izvajanjem (48 %).

Priporočila podjetja Gartner:

  1. Izberite rešitve za shranjevanje, ki temeljijo na načelih mikroservisna arhitektura. Bolje se je osredotočiti na tiste, ki izpolnjujejo zahteve glede shranjevanja podatkov za vsebniške storitve, so neodvisne od strojne opreme, jih poganja API, imajo porazdeljeno arhitekturo, podpirajo lokalno uvajanje in uvajanje v javnem oblaku.
  2. Izogibajte se lastniškim vtičnikom in vmesnikom. Izberite prodajalce, ki zagotavljajo integracijo Kubernetes in podpirajo standardne vmesnike, kot je CSI (Container Storage Interfaces).

Kako delati z omrežji

Tradicionalni omrežni model podjetja, kjer ekipe IT ustvarjajo omrežno razvojno, testiranje, zagotavljanje kakovosti in produkcijska okolja za vsak projekt, se ne ujema vedno dobro s potekom dela stalnega razvoja. Poleg tega kontejnerska omrežja obsegajo več plasti.

В blog Magalix zbrani pravila na visoki ravni, ki jih mora izpolnjevati izvedba rešitve omrežne gruče:

  1. Podi, ki so načrtovani v istem vozlišču, morajo imeti možnost komuniciranja z drugimi podi brez uporabe NAT (Network Address Translation).
  2. Vsi sistemski demoni (procesi v ozadju, kot je kubelet), ki se izvajajo na določenem vozlišču, lahko komunicirajo s podi, ki se izvajajo na istem vozlišču.
  3. Uporaba strokov gostiteljsko omrežje, mora biti sposoben komunicirati z vsemi drugimi podi na vseh drugih vozliščih brez uporabe NAT. Upoštevajte, da je gostiteljsko omrežje podprto samo na gostiteljih Linux.

Omrežne rešitve morajo biti tesno povezane s primitivi in ​​politikami Kubernetes. Vodje IT bi si morali prizadevati za visoko stopnjo avtomatizacije omrežja in razvijalcem zagotoviti prava orodja in zadostno prilagodljivost.

Priporočila podjetja Gartner:

  1. Ugotovite, ali vaš CaaS (vsebnik kot storitev) ali vaš SDN (software Defined Network) podpira omrežja Kubernetes. Če ne ali podpora ni zadostna, uporabite omrežni vmesnik CNI (Container Network Interface) za vsebnike, ki podpira potrebno funkcionalnost in politike.
  2. Prepričajte se, da vaš CaaS ali PaaS (platforma kot storitev) podpira ustvarjanje vhodnih krmilnikov in/ali izravnalnikov obremenitve, ki porazdelijo dohodni promet med vozlišča gruče. Če to ni možnost, raziščite uporabo proxyjev ali storitvenih mrež tretjih oseb.
  3. Usposobite svoje omrežne inženirje o omrežjih Linux in orodjih za avtomatizacijo omrežja, da zmanjšate vrzel v znanju in povečate okretnost.

Kako upravljati življenjski cikel aplikacije

Za avtomatizirano in brezhibno dostavo aplikacij morate orkestracijo vsebnika dopolniti z drugimi orodji za avtomatizacijo, kot so izdelki infrastrukture kot kode (IaC). Sem spadajo Chef, Puppet, Ansible in Terraform. 

Potrebna so tudi orodja za avtomatizacijo za izdelavo in uvajanje aplikacij (glejte »Magični kvadrant za orkestracijo izdaje aplikacij"). Vsebniki nudijo tudi možnosti razširljivosti, podobne tistim, ki so na voljo pri uvajanju virtualnih strojev (VM). Zato morajo IT vodje imeti orodja za upravljanje življenjskega cikla posode.

Priporočila podjetja Gartner:

  1. Postavite standarde za osnovne slike vsebnika glede na velikost, licenciranje in prilagodljivost za razvijalce pri dodajanju komponent.
  2. Uporabite sisteme za upravljanje konfiguracije za upravljanje življenjskega cikla vsebnikov, ki konfigurirajo plasti na podlagi osnovnih slik, ki se nahajajo v javnih ali zasebnih repozitorijih.
  3. Integrirajte svojo platformo CaaS z orodji za avtomatizacijo, da avtomatizirate celoten potek dela aplikacije.

Kako upravljati vsebnike z orkestratorji

Osnovna funkcionalnost za razmestitev vsebnikov je na voljo na ravni orkestracije in načrtovanja. Med razporejanjem so vsebniki postavljeni na najbolj optimalne gostitelje v gruči, kot narekujejo zahteve orkestracijske plasti. 

Kubernetes je postal de facto standard za orkestracijo vsebnikov z aktivno skupnostjo in ga podpira večina vodilnih komercialnih prodajalcev. 

Priporočila podjetja Gartner:

  1. Določite osnovne zahteve za varnostne kontrole, nadzor, upravljanje politik, obstojnost podatkov, mreženje in upravljanje življenjskega cikla vsebnika.
  2. Na podlagi teh zahtev izberite orodje, ki najbolj ustreza vašim zahtevam in primerom uporabe.
  3. Uporabite raziskavo Gartner (glejte "Kako izbrati model uvajanja Kubernetes"), da razumete prednosti in slabosti različnih modelov uvajanja Kubernetes in izberete najboljšega za svojo aplikacijo.
  4. Izberite ponudnika, ki lahko zagotovi hibridno orkestracijo za delovne vsebnike v več okoljih s tesno integracijo zaledja, skupnimi načrti upravljanja in doslednimi cenovnimi modeli.

Kako izkoristiti zmogljivosti ponudnikov v oblaku

Gartner verjameda zanimanje za postavitev vsebnikov v javnem oblaku IaaS narašča zaradi razpoložljivosti že pripravljenih ponudb CaaS, pa tudi zaradi tesne integracije teh ponudb z drugimi izdelki, ki jih ponujajo ponudniki oblakov.

Oblaki IaaS ponujajo porabo virov na zahtevo, hitro razširljivost in upravljanje storitev, s čimer se boste izognili potrebi po poglobljenem poznavanju infrastrukture in njenega vzdrževanja. Večina ponudnikov oblakov ponuja storitev upravljanja vsebnikov, nekateri pa ponujajo več možnosti orkestracije. 

Ključni ponudniki storitev upravljanja v oblaku so predstavljeni v tabeli: 

Ponudnik oblaka
Vrsta storitve
Izdelek/storitev

Alibaba
Native Cloud Service
Alibaba Cloud Container Service, storitev Alibaba Cloud Container za Kubernetes

Amazonske spletne storitve (AWS)
Native Cloud Service
Amazon Elastic Container Services (ECS), Amazon ECS za Kubernetes (EKS), AWS Fargate

Velikanski roj
MSP
Infrastruktura Kubernetes, ki jo upravlja Giant Swarm

google
Native Cloud Service
Google Container Engine (GKE)

IBM
Native Cloud Service
Storitev IBM Cloud Kubernetes

Microsoft
Native Cloud Service
Storitev Azure Kubernetes, Azure Service Fabric

Oracle
Native Cloud Service
OCI Container Engine za Kubernetes

Platform9
MSP
Upravljan Kubernetes

Red Hat
Gostujoča storitev
OpenShift Dedicated & Online

VMware
Gostujoča storitev
Cloud PKS (Beta)

Rešitve v oblaku Mail.ru*
Native Cloud Service
Vsebniki v oblaku Mail.ru

* Ne bomo skrivali, tu smo se med prevodom dodali :)

Ponudniki javnega oblaka prav tako dodajajo nove zmogljivosti in izdajajo izdelke na mestu uporabe. V bližnji prihodnosti bodo ponudniki oblakov razvili podporo za hibridne oblake in okolja z več oblaki. 

Gartnerjeva priporočila:

  1. Objektivno ocenite sposobnost svoje organizacije za uvedbo in upravljanje ustreznih orodij ter razmislite o alternativnih storitvah za upravljanje vsebnikov v oblaku.
  2. Previdno izberite programsko opremo, uporabljajte odprto kodo, kjer je to mogoče.
  3. Izberite ponudnike s skupnimi operativnimi modeli v hibridnih okoljih, ki ponujajo enotno upravljanje zveznih gruč, kot tudi ponudnike, ki olajšajo samostojno gostovanje IaaS.

Nekaj ​​nasvetov za izbiro ponudnika Kubernetes aaS iz bloga Replex:

  1. Vredno je poiskati distribucije, ki podpirajo visoko razpoložljivost takoj po namestitvi. To vključuje podporo za več glavnih arhitektur, visoko razpoložljive komponente etcd ter varnostno kopiranje in obnovitev.
  2. Če želite zagotoviti mobilnost v svojih okoljih Kubernetes, je najbolje izbrati ponudnike oblakov, ki podpirajo široko paleto modelov uvajanja, od lokalnih do hibridnih do multi-oblakov. 
  3. Ponudbe ponudnika je treba oceniti tudi na podlagi enostavnosti nastavitve, namestitve in ustvarjanja gruče ter posodobitev, spremljanja in odpravljanja težav. Osnovna zahteva je podpora popolnoma avtomatiziranih posodobitev gruče brez izpadov. Rešitev, ki jo izberete, vam mora omogočati tudi ročno izvajanje posodobitev. 
  4. Upravljanje identitete in dostopa je pomembno tako z vidika varnosti kot upravljanja. Prepričajte se, da distribucija Kubernetes, ki jo izberete, podpira integracijo z orodji za preverjanje pristnosti in avtorizacijo, ki jih uporabljate interno. RBAC in natančen nadzor dostopa sta prav tako pomembna nabora funkcij.
  5. Distribucija, ki jo izberete, mora imeti izvorno programsko definirano omrežno rešitev, ki pokriva široko paleto zahtev različnih aplikacij ali infrastrukture, ali pa mora podpirati eno od priljubljenih omrežnih implementacij, ki temeljijo na CNI, vključno s Flannel, Calico, kube-router ali OVN .

Uvajanje kontejnerjev v proizvodnjo postaja glavna usmeritev, kar dokazujejo rezultati ankete, opravljene na seje Gartner o infrastrukturi, operacijah in strategijah v oblaku (IOCS) decembra 2018:

Najboljše prakse in najboljše prakse za izvajanje vsebnikov in Kubernetes v produkcijskih okoljih
Kot lahko vidite, 27 % vprašanih že uporablja kontejnerje pri svojem delu, 63 % pa jih to načrtuje.

В Raziskava Portworx in Aqua Security 24 % vprašanih je poročalo, da so v kontejnerske tehnologije vložili več kot pol milijona dolarjev na leto, 17 % vprašanih pa je zanje porabilo več kot milijon dolarjev na leto. 

Članek je pripravila ekipa platforme v oblaku Mail.ru rešitve v oblaku.

Kaj še prebrati na to temo:

  1. Najboljše prakse DevOps: poročilo DORA.
  2. Kubernetes v duhu piratstva s predlogo za implementacijo.
  3. 25 uporabnih orodij za uvajanje in prevzem Kubernetes.

Vir: www.habr.com

Dodaj komentar