A legjobb gyakorlatok és ajánlások konténerek és Kubernetes üzembe helyezéséhez termelési környezetekben

A legjobb gyakorlatok és ajánlások konténerek és Kubernetes üzembe helyezéséhez termelési környezetekben
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 Kubernetes aaS a Mail.ru-tól ö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

A Gartner adatai szerint, 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 A 451 Research, 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 Portworx és az Aqua Security felmérésében 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. 

A Gartner szakértői ú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 legjobb gyakorlatok és ajánlások konténerek és Kubernetes üzembe helyezéséhez termelési környezetekben

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. A Gartner felfedezte számos elterjedt hibát a kliensforgatókönyvekben a konténerek alkalmazása során a termelési környezetekben:

A legjobb gyakorlatok és ajánlások konténerek és Kubernetes üzembe helyezéséhez 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 konténer környezet védelme 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.

Gartner ajánlásai: 

  1. 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.
  2. Javítsa a konfigurációt az Internet Security Központ (CIS) tesztjeivel, amelyek elérhetők Docker és Kubernetes számára is.
  3. 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.
  4. 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.
  5. 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.

StacxRox ajánlásai:

  1. 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. 
  2. 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.
  3. Á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 vállalatok alapvető problémái a Kubernetes klaszterek telepítésekor. A fejlesztők mindig inkább a fejlesztett alkalmazások funkcióira koncentrálnak, mintsem a ezeknek az alkalmazásoknak a monitorozására. 

Gartner ajánlásai:

  1. 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.
  2. 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.
  3. 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.

A SolarWinds blogjában javasolják:

  1. 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.
  2. 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.
  3. 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.
  4. Automatizálja a munkafolyamatokat, támogassa a konténerek és telepítési környezetük kezelését és méretezését.
  5. 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.
  6. 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 felmérés szerint, 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%).

Gartner ajánlásai:

  1. Válasszon adatkezelési megoldásokat, amelyek a mikroszolgáltatás-architektúra elvein alapulnak.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.
  2. 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 Magalix blogján összegyűjtötték a klaszter-hálózati megoldás megvalósításának magas szintű szabályait:

  1. 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.
  2. 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.
  3. A podok, amelyek a gazda hálózatot használják, 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.

Gartner ajánlásai:

  1. 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.
  2. 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.
  3. 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: „Tündérnégyzet az alkalmazáskiadás-orkesztálásra”). 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 konténer életciklus-kezelő eszközökkel..

Gartner ajánlásai:

  1. Á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.
  2. 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.
  3. 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. 

Gartner ajánlásai:

  1. 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.
  2. Ezeket a követelményeket figyelembe véve válasszon olyan eszközt, amely legjobban megfelel igényeinek és használati forgatókönyveinek.
  3. Használja a Gartner kutatásait (lásd: "Hogyan válasszuk ki a Kubernetes telepítési modellt"), 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.
  4. 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

A Gartner úgy véli,, 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 szolgáltatáskezelést, 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. 

Gartner ajánlások:

  1. 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.
  2. Gondosan válassza ki a szoftvert, ahol lehetséges, használjon nyílt forráskódú megoldásokat.
  3. 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.

Néhány tipp a Kubernetes aaS szolgáltató választásához a Replex blogjáról:

  1. 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.
  2. 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. 
  3. 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. 
  4. 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.
  5. 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 Gartner ülésen az infrastruktúra, működés és felhőstratégiák (IOCS) témában 2018 decemberében tartottak:

A legjobb gyakorlatok és ajánlások konténerek és Kubernetes üzembe helyezéséhez termelési környezetekben
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 Portworx és az Aqua Security felmérésében 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 Mail.ru Cloud Solutions.

Mit érdemes még olvasni a témában:

  1. A DevOps legjobb gyakorlatai: DORA jelentés.
  2. Kubernetes kalózstílusban bevezetési sablonnal.
  3. 25 hasznos eszköz a Kubernetes telepítéséhez és bevezetéséhez.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster