
A konténerizációs technológiák ökoszisztémája gyorsan fejlődik és változik, így ezen a téren hiányoznak a jó munkafolyamatok. Ennek ellenére a Kubernetes és a konténerek egyre elterjedtebbek — akár régi alkalmazások modernizálására, akár új felhőalkalmazások fejlesztésére.
A parancs összegyűjtötte a piaci vezetők előrejelzéseit, tanácsait és legjobb gyakorlatait a Gartner, a 451 Research, a StacxRoх és mások részéről. Ezek lehetővé teszik a konténerek üzembe helyezésének biztosítását és felgyorsítását a termelési környezetekben.
Hogyan lehet megérteni, hogy a cége készen áll a konténerek üzembe helyezésére a termelési környezetben
, 2022-ben a szervezetek több mint 75%-a fog konténerizált alkalmazásokat használni a termelésben. Ez lényegesen nagyobb arány, mint jelenleg, amikor az ilyen alkalmazásokat a cégek kevesebb mint 30%-a használja.
A következő szerint , becslések szerint a konténertechnológiák piaca 2022-ben 4,3 milliárd dollár lesz. Ez több mint duplája a 2019-re előrejelzett összegeknek, a piaci növekedés üteme 30%.
A a válaszadók 87%-a nyilatkozott úgy, hogy jelenleg használnak konténertechnológiát. Összehasonlításképpen, 2017-ben a válaszadók 55%-a használta azokat.
A konténerek iránti növekvő érdeklődés és bevezetés ellenére a termelésbe való üzembe helyezésük képzést igényel a technológiai éretlenség és a know-how hiánya miatt. A szervezeteknek reálisan kell tekinteniük az alkalmazások konténerizálását igénylő üzleti folyamatokra. Az IT vezetőknek érdemes felmérniük, hogy rendelkeznek-e a szükséges készségekkel a gyors tanulás figyelembevételével.
úgy vélik, hogy az alább látható kérdések segíthetnek megérteni, készen állnak-e a konténerek üzembe helyezésére a termelésben:

A leggyakoribb hibák konténerek üzembe helyezésekor a termelésben
A szervezetek gyakran alábecsülik a konténerek termelési üzemeltetéséhez szükséges erőfeszítéseket. számos elterjedt hibát a kliensforgatókönyvekben a konténerek alkalmazása során a termelési környezetekben:

Hogyan biztosítsuk a konténerek biztonságát
A biztonsággal nem szabad "majd később" foglalkozni. Ennek be kell épülnie a DevOps folyamatba, ezért született meg a DevSecOps kifejezés is. A szervezeteknek szükségük van a tervezésre a fejlesztési ciklus teljes időtartama alatt, amely magában foglalja a fejlesztési és építési folyamatokat, valamint az alkalmazások telepítését és futtatását.
:
- Integrálja az alkalmazás képek sebezhetőségeinek ellenőrzését a folyamatos integrációs/folyamatos szállítási (CI/CD) folyamatba. Az alkalmazásokat a szoftver építési és futtatási szakaszaiban ellenőrzik. Hangsúlyozza a nyílt forráskódú komponensek, könyvtárak és keretrendszerek ellenőrzésének szükségességét. A fejlesztők régi, sebezhető verziók használata a konténerek sebezhetőségeinek alapvető oka.
- Javítsa a konfigurációt az Internet Security Központ () tesztjeivel, amelyek elérhetők Docker és Kubernetes számára is.
- Kötelező alkalmazni a hozzáférés-ellenőrzést, biztosítani a feladatok megosztását és bevezetni a titokkezelési politikát. A bizalmas információkat, mint például a Secure Sockets Layer (SSL) kulcsokat vagy adatbázis hitelesítő adatokat, az orchestrátor vagy harmadik fél kezelőszolgáltatások titkosítják, és futás közben biztosítják.
- Kerülje a privilégiumokkal rendelkező konténerek használatát a biztonsági politikák kezelésével, ez csökkenti a potenciális behatolás kockázatát.
- Használjon olyan biztonsági eszközöket, amelyek fehérlistákat, viselkedésfigyelést és anomáliák észlelését kínálják a rosszindulatú tevékenységek megelőzése érdekében.
:
- Használja ki a Kubernetes beépített funkcióit. Állítsa be a felhasználói hozzáférést szerepkörökkel. Biztosítson arra, hogy ne adjon felesleges engedélyeket egyes felhasználóknak, még ha a minimálisan szükséges engedélyek átgondolása időigényes lehet is. Csábító lehet, hogy a klaszter adminisztrátorának széleskörű jogosultságokat adjon, mivel ez időt takarít meg a kezdeti szakaszban. Azonban bármilyen kompromisszum vagy hiba a fiókban romboló következményekkel járhat a jövőben.
- Kerülje el a hozzáférési jogok duplikálását. Néha hasznos lehet, ha különböző szerepek átfedik egymást, de ez üzemeltetési problémákhoz vezethet, valamint „halott zónákat” okozhat a jogok törlésekor. Ezenkívül fontos, hogy távolítsa el a nem használt és inaktív szerepeket.
- Állítson be hálózati politikákat: izolálja a modulokat, hogy korlátozza a hozzáférést; egyértelműen engedélyezze az internet-hozzáférést azoknak a moduloknak, amelyeknek szükségük van rá, címkék használatával; egyértelműen engedélyezze az azok közötti kommunikációt, akiknek beszélniük kell egymással.
Hogyan szervezzük meg a konténerek és a bennük lévő szolgáltatások monitorozását
Biztonság és monitorozás — a Kubernetes klaszterek telepítésekor. A fejlesztők mindig inkább a fejlesztett alkalmazások funkcióira koncentrálnak, mintsem a .
:
- Próbálja meg a konténerek vagy bennük lévő szolgáltatások állapotát a gazdarendszer monitorozásával együtt figyelni.
- Előnyben részesítse azokat a gyártókat és eszközöket, amelyek mély integrációt kínálnak a konténerorkesztációba, különösen a Kubernetesbe.
- Válasszon olyan eszközöket, amelyek részletes naplózást, automatikus szolgáltatás-felfedezést és valós idejű ajánlásokat kínálnak analitika és/vagy gépi tanulás segítségével.
:
- Automatikus felfedező és konténer metrikák nyomon követésére szolgáló eszközök használatát, valamint a teljesítménymetrikák, mint például a processzor, memória és üzemidő korrelációját.
- Biztosítson optimális kapacitástervezést a konténermonitorozási mutatók alapján a kapacitás kimerülésének időpontjának előrejelzésével.
- Szervezze meg a konténerekben futó alkalmazások monitorozását elérhetőségi és teljesítmény paraméterek alapján, ami hasznos a kapacitástervezéshez és a teljesítményproblémák elhárításához.
- Automatizálja a munkafolyamatokat, támogassa a konténerek és telepítési környezetük kezelését és méretezését.
- Automatizálja a hozzáférés-ellenőrzést, hogy nyomon kövesse a felhasználói bázist, letiltsa az elavult és vendégfiókokat, és törölje a felesleges jogosultságokat.
- Biztosítani kell, hogy az eszközkészlete képes nyomon követni ezeket a konténereket és alkalmazásokat különféle környezetekben (felhőben, helyben vagy hibrid) a teljesítmény vizualizálásához és összehasonlításához az infrastruktúrában, hálózatokban, rendszerekben és alkalmazásokban.
Hogyan tároljuk az adatokat és biztosítjuk a biztonságukat
A munkakörnyezetek számának növekedésével, amelyek állapotot is megőriznek, a kliensnek figyelembe kell vennie az adatok szerver elhelyezését, valamint az ezen adatok védelmének szükségességét.
A Portworx és az Aqua Security , az adatbiztonság az első számú probléma a legtöbb válaszadó (61%) listáján.
Az adatok titkosítása a biztonság alapvető stratégiája (64%), ugyanakkor a válaszadók futási idő figyelést is használnak
(49%), a tárolói sebezhetőségek vizsgálatát (49%), a CI/CD folyamatok sebezhetőségi vizsgálatát (49%) és az anomáliák blokkolását futási idő védelmen keresztül (48%).
:
- Válasszon adatkezelési megoldásokat, amelyek a A legjobb, ha olyan megoldásokat választ, amelyek megfelelnek a konténer alapú szolgáltatások adatkezelési követelményeinek, hardverfüggetlenek, API által kezeltek, elosztott architektúrával rendelkeznek, támogatják a helyi telepítést és a nyilvános felhőben történő telepítést.
- Kerülje a proprietárius plugineket és interfészeket. Válasszon olyan szolgáltatókat, akik biztosítják az integrációt a Kubernetes-szel és támogatják a standard interfészeket, mint amilyenek a CSI (Container Storage Interfaces).
Hogyan működjünk együtt a hálózatokkal
A hagyományos vállalati hálózati modell, ahol az IT szakemberek fejlesztési, tesztelési, minőségbiztosítási és termelési hálózati környezeteket hoznak létre minden projekt számára, nem mindig illeszkedik jól a folyamatos fejlesztési munkafolyamatba. Ezenkívül a konténerhálózatok több szinten működnek.
A a klaszter-hálózati megoldás megvalósításának magas szintű szabályait:
- Azt a podot, amelyeket ugyanazon a csomóponton ütemeznek, képesnek kell lennie adatokat cserélni más modulokkal NAT (hálózati cím átalakítás) használata nélkül.
- Minden rendszerszolgáltatás (háttérfolyamatok, például kubelet), amely egy adott csomóponton fut, interakcióba léphet a ugyanazon a csomóponton futó podokkal.
- A podok, amelyek képesek kell, hogy legyenek a többi poddal való kapcsolatra minden más csomóponton NAT használata nélkül. Kérjük, vegye figyelembe, hogy a gazda hálózat csak Linux gazdákon működik.
A hálózati megoldásoknak szorosan integrálódniuk kell a Kubernetes primitívjeivel és politikáival. Az IT vezetőknek arra kell törekedniük, hogy a hálózatot magas fokú automatizáltsággal biztosítsák, megfelelő eszközöket és elegendő rugalmasságot adjanak a fejlesztőknek.
:
- Ellenőrizze, hogy a CaaS (konténer mint szolgáltatás) vagy az SDN (Szoftveresen meghatározott hálózat) támogatja-e a Kubernetes hálózatokat. Ha nem, vagy a támogatás nem elegendő, használjon olyan CNI (Konténer Hálózat Interface) hálózati interfészt a konténereihez, amely támogatja a szükséges funkciókat és politikákat.
- Győződjön meg róla, hogy a CaaS vagy PaaS (platform mint szolgáltatás) támogatja a bejövő vezérlők és/vagy terheléselosztók létrehozását, amelyek a forgalmat elosztják a klaszter csomópontjai között. Ha ilyen lehetőség nincs, fontolja meg harmadik féltől származó proxyk vagy service mesh mechanizmusok használatát.
- Képezze ki hálózati mérnökeit a Linux hálózatokkal és hálózati automatizálási eszközökkel, hogy csökkentse a készségek közötti szakadékot és növelje a rugalmasságot.
Hogyan kezeljük az alkalmazások életciklusát
Az automatizált és megszakítás nélküli alkalmazásküldéshez kiegészítő automatizálási eszközök szükségesek az konténerorkesztáláson kívül, például infrastruktúra mint kód (IaC) termékek, mint a Chef, Puppet, Ansible és Terraform.
Automatizálási eszközökre is szükség van az alkalmazások létrehozásához és telepítéséhez (lásd: „”). A konténerek hasonló kiterjesztési lehetőségeket is kínálnak, mint a virtuális gépek (VM) telepítése során. Így az IT vezetőknek rendelkezniük kell .
:
- Állítson fel alapvető konténer képek standardjait a méret, licencelés és a fejlesztők számára történő komponens hozzáadásához szükséges rugalmasság figyelembevételével.
- Használja a konfigurációkezelő rendszereket a konténerek életciklusának kezelésére, amelyek a konfigurációt rétegekben helyezik el az alapképek alapján, amelyek nyilvános vagy privát tárolókban találhatóak.
- Integrálja a CaaS platformot az automatizáló eszközökkel, hogy automatizálhassa az alkalmazások teljes munkafolyamatát.
Hogyan kezeljük a konténereket az orchestratőrökkel
A konténerek telepítéséhez szükséges alapvető funkciókat az orchestration és a tervezési szinteken biztosítják. Tervezéskor a konténereket a klaszter legoptimálisabb hosztjain helyezik el, ahogy az az orchestration szint követelményei előírják.
A Kubernetes de facto a konténerek orchestration szabványává vált, aktív közösséggel, amelyet a legtöbb vezető kereskedelmi szolgáltató támogat.
:
- Határozza meg az alapvető követelményeket a biztonsági vezérlők, a megfigyelés, a politikakezelés, az adatrekordozás, a hálózatkezelés és a konténerek életciklusának terén.
- Ezeket a követelményeket figyelembe véve válasszon olyan eszközt, amely legjobban megfelel igényeinek és használati forgatókönyveinek.
- Használja a Gartner kutatásait (lásd: ""), hogy megértse a különböző Kubernetes telepítési modellek előnyeit és hátrányait, és válassza ki a feladataihoz legjobban illeszkedőt.
- Válasszon egy szolgáltatót, aki képes hibrid orchestration-t biztosítani a munkakonténerek számára több környezetben, szoros integrációval a háttérrel, közös irányítási tervekkel és összhangban lévő árazási modellekkel.
Hogyan használjuk ki a felhőszolgáltatók lehetőségeit
, hogy a nyilvános IaaS felhőkben történő konténertelepítések iránti érdeklődés növekszik a CaaS kész ajánlatok elérhetősége, valamint e kínálatok szoros integrációja miatt a felhőszolgáltatók által kínált egyéb termékekkel.
Az IaaS felhők az igény szerinti erőforrás-felhasználást, a gyors skálázhatóságot és , amely segít elkerülni a mély infrastruktúra-ismeretek és karbantartás szükségességét. A legtöbb felhőszolgáltató konténerkezelési szolgáltatást kínál, és néhány több orchestration opciót is biztosít.
A legfontosabb felhőalapú szolgáltatók a táblázatban találhatók:
Felhőszolgáltató
Szolgáltatási típus
Termék/szolgáltatás
Alibaba
Natív Felhőszolgáltatás
Alibaba Cloud Container Service, Alibaba Cloud Container Service for Kubernetes
Amazon Web Services (AWS)
Natív Felhőszolgáltatás
Amazon Elastic Container Services (ECS), Amazon ECS for Kubernetes (EKS), AWS Fargate
Giant Swarm
MSP
Giant Swarm Managed Kubernetes Infrastruktúra
Google
Natív Felhőszolgáltatás
Google Container Engine (GKE)
IBM
Natív Felhőszolgáltatás
IBM Cloud Kubernetes Service
Microsoft
Natív Felhőszolgáltatás
Azure Kubernetes Service, Azure Service Fabric
Oracle
Natív Felhőszolgáltatás
OCI Container Engine for Kubernetes
Platform9
MSP
Kezelt Kubernetes
Red Hat
Kibővített Szolgáltatás
OpenShift Dedicated & Online
VMware.
Kibővített Szolgáltatás
Cloud PKS (Béta)
Mail.ru Felhőmegoldások*
Natív Felhőszolgáltatás
Mail.ru Felhőkonténerek
* Ne szüksük eltitkolni, mi magunk is ide kerültünk a fordítás során 🙂
A nyilvános felhők szolgáltatói új lehetőségeket is hozzáadnak, és helyi termékeket indítanak. A közeljövőben a felhőszolgáltatók fejleszteni fogják a hibrid felhők és a többfelhős környezetek támogatását.
:
- Objektíven értékelje a szervezete képességeit a megfelelő eszközök telepítésére és kezelésére, és fontolja meg alternatív felhőkonténer-kezelő szolgáltatásokat.
- Gondosan válassza ki a szoftvert, ahol lehetséges, használjon nyílt forráskódú megoldásokat.
- Olyan szolgáltatókat válasszon, akik egységes működési modellekkel rendelkeznek a hibrid környezetekben, és akik összevont klaszterek kezelését kínálják egyetlen vezérlőpulton, illetve egyszerűsítik az IaaS önálló használatát.
:
- Olyan disztribúciókat érdemes keresni, amelyek dobozból kiemelkedő rendelkezésre állást támogatnak. Ez magában foglalja több fő architektúra, a magas rendelkezésre állású etcd komponensek támogatását, valamint a biztonsági mentést és visszaállítást.
- A Kubernetes környezetek mobilitásának biztosítása érdekében érdemes olyan felhőszolgáltatókat választani, akik széles körű telepítési modelleket támogatnak: a lokálisaktól a hibrid és többfelhős környezetekig.
- A szolgáltatók ajánlatait értékelje figyelembe véve a cluster beállításának, telepítésének és megteremtésének egyszerűségét, valamint a frissítéseket, a monitorozást és a hibaelhárítást. Alapvető követelmény a teljesen automatizált frissítések támogatása a clusterben nulla leállási idővel. A kiválasztott megoldásnak lehetővé kell tennie a frissítések manuális indítását is.
- A hitelesítés és hozzáférés kezelése fontos a biztonság és a menedzsment szempontjából is. Győződjön meg róla, hogy a választott Kubernetes disztribúció támogatja a vállalaton belüli autentikációs és autorizációs megoldások integrálását. Az RBAC és a részletes hozzáférés-ellenőrzés szintén fontos funkciókészletek.
- A kiválasztott disztribúciónak vagy saját hálózati megoldással kell rendelkeznie, amely szoftver által definiált, és széleskörűen fedezi a különböző alkalmazások vagy infrastruktúrák által támasztott követelményeket, vagy támogatnia kell az egyik népszerű CNI-alapú hálózat megvalósítását, beleértve a Flannelt, Calicot, kube-routert vagy az OVN-t.
A konténerek gyártásba való bevezetése a fő irányvonal, amit egy felmérés eredményei is tükröznek, amelyet a az infrastruktúra, működés és felhőstratégiák (IOCS) témában 2018 decemberében tartottak:

Ahogy látjuk, a válaszadók 27%-a már használ konténereket, míg 63%-uk tervezi, hogy bevezeti őket.
A A válaszadók 24%-a arról számolt be, hogy évente több mint félmillió dollárt fektet a konténertechnológiákba, míg 17%-uk évente több mint egymillió dollárt költ rájuk.
A cikket a felhőplatform csapata készítette .
Mit érdemes még olvasni a témában:
- .
- .
- .
Forrás: habr.com
