
Ekosystém technológií kontajnerizácie sa rýchlo vyvíja a mení, a preto v tejto oblasti chýbajú dobré pracovné praktiky. Napriek tomu sa Kubernetes a kontajnery používajú čoraz častejšie – ako pre modernizáciu starých aplikácií, tak aj pre vývoj moderných cloudových aplikácií.
Tím zhromaždili predpovede, rady a najlepšie praktiky pre lídrov trhu od Gartner, 451 Research, StacxRoх a ďalších. Tieto poskytnú zabezpečenie a urýchlenie nasadenia kontajnerov v produkčných prostrediach.
Ako zistiť, či je vaša spoločnosť pripravená nasadiť kontajnery v produkčnom prostredí
, v roku 2022 viac ako 75% organizácií bude používať kontajnerizované aplikácie v produkcii. To je výrazne viac ako v súčasnosti, keď takéto aplikácie využíva menej ako 30% spoločností.
Podľa , predpokladaný trh pre aplikáciu kontajnerových technológií v roku 2022 dosiahne 4,3 miliardy dolárov. To je viac ako dvojnásobok predpovedaných súm z roku 2019, pričom tempo rastu trhu dosahuje 30%.
V 87% respondentov uviedlo, že v súčasnosti používajú kontajnerové technológie. Pre porovnanie – v roku 2017 bolo takých respondentov 55%.
Napriek rastúcemu záujmu a nárastu zavádzania kontajnerov, ich spustenie v produkcii si vyžaduje školenie z dôvodu technologickej nezrelosti a nedostatku know-how. Organizácie by mali realisticky posúdiť obchodné procesy, ktoré si vyžadujú kontajnerizáciu aplikácií. IT lídri by mali posúdiť, či majú potrebné zručnosti na pokračovanie s ohľadom na potrebu rýchleho učenia.
považujú otázky na obrázku nižšie za pomoc pri vyhodnocovaní, či ste pripravení na nasadenie kontajnerov v produkcii:

Najčastejšie chyby pri aplikácii kontajnerov v produkcii
Organizácie často podceňujú úsilie potrebné na prevádzkovanie kontajnerov v produkcii. niekoľko bežných chýb v scenároch zákazníkov pri aplikácii kontajnerov v produkčných prostrediach:

Ako zabezpečiť bezpečnosť kontajnerov
Bezpečnosť nie je niečo, čím sa dá zaoberať „nielen tak“. Musí byť zakomponovaná do procesu DevOps, preto sa objavil aj špeciálny termín — DevSecOps. Organizácie musia plánovať počas celého životného cyklu vývoja, ktorý zahŕňa proces zostavovania a vývoja, nasadenie a spustenie aplikácie.
:
- Integrujte proces skenovania obrazov aplikácií na vyhľadávanie zraniteľností do pipeline kontinuálnej integrácie/kontinuálneho dodávania (CI/CD). Aplikácie sa skenujú počas fázy zostavovania a spúšťania softvéru. Zdôraznite potrebu skenovania a identifikácie komponentov s otvoreným zdrojovým kódom, knižníc a rámcov. Používanie starších zraniteľných verzií vývojármi je jednou z hlavných príčin zraniteľností kontajnerov.
- Zlepšujte konfiguráciu pomocou testov Center for Internet Security (), ktoré sú dostupné pre Docker aj pre Kubernetes.
- Určite implementujte kontrolu prístupu, zabezpečte rozdelenie povinností a zavádzaním politiky správy tajomstiev. Dôverné informácie, ako sú kľúče Secure Sockets Layer (SSL) alebo poverenia databázy, sú šifrované orchestrátorom alebo externými službami správy a poskytnuté počas behu
- Vyhnite sa kontajnerom s privilégiami pomocou správy bezpečnostných politík, to znižuje potenciálne riziko hackerstva.
- Používajte bezpečnostné nástroje, ktoré poskytujú biele zoznamy, behaviorálne monitorovanie a detekciu anomálií na prevenciu škodlivých činností.
:
- Využívajte vstavané funkcie Kubernetes. Nastavte prístup pre používateľov pomocou rolí. Uistite sa, že neposkytujete zbytočné povolenia jednotlivým subjektom, aj keď môže trvať určitý čas na premyslenie minimálne potrebných povolení. Môže sa zdať lákavé dať správcovi klastra široké privilégiá, pretože to šetrí čas v počiatočnej fáze. Avšak akýkoľvek kompromis alebo chyba v účte môže mať zničujúce následky v budúcnosti.
- Vyhnite sa duplicitnému udeľovaniu prístupových práv. Niekedy môže byť užitočné, aby sa rôzne úlohy prekrývali, ale to môže viesť k problémom s prevádzkou a vytvoriť "mŕtve zóny" pri odstraňovaní prístupových práv. Okrem toho je dôležité odstraňovať nepoužívané a neaktívne úlohy.
- Nastavte sieťové politiky: izolujte moduly, aby ste obmedzili k nim prístup; jasne povoľte prístup na internet tým modulom, ktoré to potrebujú, pomocou štítkov; jasne povoľte komunikáciu medzi tými modulmi, ktoré si potrebujú navzájom komunikovať.
Ako usporiadať monitorovanie kontajnerov a služieb v nich
Bezpečnosť a monitoring — pri nasadzovaní klastrov Kubernetes. Vývojári sa vždy viac zameriavajú na funkcie aplikácií, ktoré vyvíjajú, než na aspekty .
:
- Snažte sa monitorovať stav kontajnerov alebo služieb v nich spolu s monitoringom hostiteľských systémov.
- Uprednostňujte výrobcov a nástroje s hlbokou integráciou do orchestrácie kontajnerov, najmä Kubernetes.
- Vyberte si nástroje, ktoré poskytujú podrobné logovanie, automatické objavovanie služieb a odporúčania v reálnom čase s použitím analytiky a/alebo strojového učenia.
:
- Používať nástroje na automatické zistenie a sledovanie metriky kontajnera, koreláciu metrík výkonu, ako je procesor, pamäť a doba bezporuchovosti.
- Zabezpečte optimálne plánovanie kapacity predpovedaním termínov vyčerpania kapacity na základe ukazovateľov monitorovania kontajnerov.
- Organizujte monitorovanie aplikácií umiestnených v kontajneroch podľa parametrov dostupnosti a výkonu, čo je užitočné ako na plánovanie kapacity, tak na odstraňovanie problémov s výkonom.
- Automatizujte pracovné postupy, poskytovaním podpory riadenia a škálovania pre kontajnery a ich prostredia nasadenia.
- Automatizujte kontrolu prístupu, aby ste sledovali databázu používateľov, vypínali zastarané a hostiteľské účty, odstraňovali zbytočné privilégia.
- Uistite sa, že váš nástrojový súbor dokáže sledovať tieto kontajnery a aplikácie v rôznych prostrediach (súčasných, lokálnych alebo hybridných) na vizualizáciu a porovnávanie výkonu v infrastrukтурe, sieti, systémoch a aplikáciách.
Ako uchovávať údaje a zabezpečiť ich bezpečnosť
S narastajúcim počtom pracovných kontajnerov so zachovaním stavu by mali zákazníci zvážiť umiestnenie údajov mimo hostiteľa, ako aj potrebu chrániť tieto údaje.
Podľa , bezpečnosť údajov sa umiestňuje na prvom mieste medzi bezpečnostnými problémami, ktoré uviedlo väčšina respondentov (61%).
Šifrovanie údajov je základnou bezpečnostnou stratégiou (64%), avšak respondenti tiež využívajú monitorovanie prevádzky
(49%), skenovanie zraniteľností v registroch (49%), skenovanie zraniteľností v CI/CD pipeline (49%) a blokovanie anomálií prostredníctvom ochrany v reálnom čase (48%).
:
- Vyberte si riešenia na uchovávanie údajov, ktoré sú postavené na princípoch . Je lepšie zvoliť tie, ktoré spĺňajú požiadavky na uchovávanie údajov pre kontajnerové služby, sú hardvérovo nezávislé, spravované prostredníctvom API, majú distribuovanú architektúru a podporujú lokálne a verejné nasadenia v cloude.
- Vyhnite sa proprietárnym pluginom a rozhraním. Vyberte si výrobcov, ktorí poskytujú integráciu s Kubernetes a podporujú štandardné rozhrania, ako CSI (Container Storage Interfaces).
Ako pracovať so sieťami
Tradičný model podnikovej siete, kde odborníci na IT vytvárajú sieťové prostredia pre vývoj, testovanie, zabezpečenie kvality a výrobu pre každý projekt, sa nie vždy dobre zhoduje s pracovným tokom nepretržitého vývoja. Okrem toho sa kontajnerové siete týkajú viacerých úrovní.
V všeobecné pravidlá, ktorým by mala zodpovedať implementácia klustrového sieťového riešenia:
- Pod, ktoré sú naplánované na jednom a tom istom uzle, by mali mať možnosť vymieňať si dáta s ostatnými modulmi bez použitia NAT (prekladu sieťových adries).
- Všetky systémové démony (procesy na pozadí, ako napríklad kubelet) bežiace na konkrétnom uzle môžu interagovať s podmi, ktoré bežia na tom istom uzle.
- Pody, ktoré používajú by mali byť schopné komunikovať so všetkými ostatnými podmi na všetkých ostatných uzloch bez použitia NAT. Upozorňujeme, že hostiteľská sieť je podporovaná iba na Linuxových hostiteľoch.
Sieťové riešenia by mali byť úzko integrované s primitívami a politikami Kubernetes. IT manažéri by mali usilovať o vysokú úroveň automatizácie siete, poskytovať vývojárom správne nástroje a dostatočnú flexibilitu.
:
- Zistite, či váš CaaS (kontajner ako služba) alebo vaša sieť SDN (Software Defined Network) podporuje Kubernetes siete. Ak nie, alebo ak je podpora nedostatočná, použite pre svoje kontajnery sieťové rozhranie CNI (Container Network Interface), ktoré podporuje potrebnú funkčnosť a politiky.
- Uistite sa, že váš CaaS alebo PaaS (platforma ako služba) podporuje vytváranie prichádzajúcich kontrolórov a/alebo vyvažovačov zaťaženia, ktoré rozdeľujú prichádzajúci tok medzi uzlami klastru. Ak takáto možnosť neexistuje, zvážte použitie externých proxy alebo mechanizmov service mesh.
- Vyškolte svojich sieťových inžinierov na prácu so sieťami Linux a nástrojmi na automatizáciu siete, aby ste znížili zručnostný rozdiel a zvýšili flexibilitu.
Ako spravovať životný cyklus aplikácií
Pre automatizované a plynulé doručovanie aplikácií je potrebné doplniť orchestráciu kontajnerov ďalšími nástrojmi automatizácie, ako sú produkty infraštruktúry ako kód (IaC). Patrí sem Chef, Puppet, Ansible a Terraform.
Tiež sú potrebné prostriedky na automatizáciu zostavenia a nasadenia aplikácií (pozri ""). Kontajnery tiež poskytujú možnosti pre škálovanie, podobné možnostiam, ktoré existovali pri nasadzovaní virtuálnych strojov (VM). Tým pádom by mali IT manažéri mať .
:
- Stanovte štandardy základných obrazov kontajnerov z hľadiska veľkosti, licencovania a flexibility na pridávanie komponentov vývojármi.
- Používajte systémy na správu konfigurácie na riadenie životného cyklu kontajnerov, ktoré uchovávajú konfiguráciu v vrstvách na základe základných obrazov nachádzajúcich sa v verejných alebo súkromných repozitároch.
- Integrujte platformu CaaS s automatizačnými nástrojmi na automatizáciu celého pracovného procesu aplikácie.
Ako spravovať kontajnery pomocou orchestrátorov
Základné funkcie na nasadenie kontajnerov sú poskytované na úrovniach orchesterovania a plánovania. Pri plánovaní sú kontajnery umiestnené na najoptimálnejších hostiteľoch v klastre, ako stanovujú požiadavky úrovne orchesterovania.
Kubernetes sa de facto stal štandardom orchestrácie kontajnerov s aktívnou komunitou, ktorú podporuje väčšina popredných komerčných poskytovateľov.
:
- Definujte základné požiadavky na prvky správy bezpečnosti, monitorovanie, správu politík, uchovávanie údajov, správu sietí a životný cyklus kontajnerov.
- Na základe týchto požiadaviek vyberte nástroj, ktorý najlepšie vyhovuje vašim potrebám a scenárom použitia.
- Využite výskumy Gartner (pozri „“), aby ste pochopili výhody a nevýhody rôznych modelov nasadenia Kubernetes a vybrali ten najvhodnejší pre vašu úlohu.
- Vyberte poskytovateľa, ktorý môže zabezpečiť hybridné orchesterovanie pracovných kontajnerov v rôznych prostrediach s tesnou integráciou s backendmi, spoločnými plánmi správy a konzistentnými modelmi cenotvorby.
Ako využiť kapacity poskytovateľov cloudu
, že záujem o nasadenie kontajnerov v verejnom cloude IaaS rastie kvôli dostupnosti hotových ponúk CaaS a tiež tesnej integrácii týchto ponúk s inými produktmi, ktoré ponúkajú poskytovatelia cloudu.
Cloude IaaS ponúkajú konzumáciu zdrojov na požiadanie, rýchlu škálovateľnosť a , ktorá pomáha vyhnúť sa potrebe hlbokých znalostí o infraštruktúre a jej údržbe. Väčšina poskytovateľov cloudu ponúka službu správy kontajnerov a niektorí ponúkajú niekoľko možností orchestrácie.
Kľúčoví poskytovatelia spravovaných cloudových služieb sú uvedení v tabuľke:
Cloudový poskytovateľ
Typ služieb
Produkt/služba
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
* Nebudeme skrývať, my sme sa tu sami pridali pri preklade 🙂
Poskytovatelia verejných cloudov tiež pridávajú nové funkcie a vydávajú lokálne produkty. V najbližšej budúcnosti budú poskytovatelia cloudov rozvíjať podporu hybridných cloudov a multi-cloudových prostredí.
:
- Objektívne zhodnoťte možnosti vašej organizácie nasadzovať a spravovať relevantné nástroje a zvážte alternatívne služby na správu cloudových kontajnerov.
- Dôkladne vyberajte softvér, používajte open source tam, kde je to možné.
- Vyberajte poskytovateľov s jednotnými operačnými modelmi v hybridných prostrediach, ktorí ponúkajú správu zjednotených klastrov z jednej konzoly a tiež poskytovateľov, ktorí uľahčujú samostatné využívanie IaaS.
:
- Hľadajte distribúcie, ktoré podporujú vysokú dostupnosť priamo z krabice. To zahŕňa podporu viacerých základných architektúr, vysoko dostupné komponenty etcd a tiež zálohovanie a obnovu.
- Aby ste zabezpečili mobilitu prostredí Kubernetes, je lepšie vyberať cloudových poskytovateľov, ktorí podporujú široké spektrum modelov nasadenia: od lokálnych cez hybridné po multi-cloudové.
- Ponuky poskytovateľov tiež stojí za to hodnotiť s ohľadom na jednoduchosť nastavenia, inštalácie a vytvorenia klastru, ako aj aktualizácií, monitorovania a odstraňovania problémov. Základnou požiadavkou je podpora plne automatizovaných aktualizácií klastru s nulovým časom výpadku. Vybrané riešenie by malo umožniť aj manuálne spustenie aktualizácií.
- Správa identity a prístupu je dôležitá z hľadiska bezpečnosti aj správy. Uistite sa, že vybraný Kubernetes distribúcia podporuje integráciu s autentifikačnými a autorizačnými prostriedkami, ktoré sa používajú vo vnútri spoločnosti. RBAC a podrobná kontrola prístupu sú tiež dôležitými funkciami.
- Vybraný distribúcia by mala mať vlastné sieťové riešenie, definované softvérom a pokrývajúce široké spektrum požiadaviek, ktoré kladú rôzne aplikácie alebo infraštruktúra, alebo by mala podporovať jednu z populárnych implementácií sietí založených na CNI, vrátane Flannel, Calico, kube-router alebo OVN.
Zavádzanie kontajnerov do výroby sa stáva hlavným trendom, čo dokazujú výsledky prieskumu, ktorý bol uskutočnený na o infraštruktúre, operáciách a cloudových stratégiách (IOCS) v decembri 2018:

Ako vidíme, 27% respondentov už používa kontajnery v praxi, zatiaľ čo 63% plánuje ich zaviesť.
V 24% respondentov uviedlo, že investujú viac ako pol milióna dolárov ročne do kontajnerových technológií, a 17% respondentov míňa na tieto technológie viac ako milión dolárov ročne.
Článok pripravil tím cloudovej platformy .
Čo ďalšie si prečítať na túto tému:
- .
- .
- .
Zdroj: habr.com
