A Kubernetes üzembe helyezési stratégiája
Találja meg az optimális Kubernetes-kibocsátási stratégiát az alkalmazásához.
A Kubernetes üzembe helyezésének lehetőségei
Akár a piacra dobási időt szeretné csökkenteni, rugalmas, állásidő nélküli példányokat szeretne létrehozni, gyorsabban és gyakrabban szeretne kiadni alkalmazásokat és funkciókat, vagy rugalmasabb környezetben szeretne dolgozni, a megfelelő Kubernetes-stratégia kiválasztása kulcsfontosságú a rugalmas alkalmazások és infrastruktúra biztosításához. A Kubernetes minden üzembe helyezési stratégiája rendelkezik előnyökkel az Ön céljaitól és igényeitől függően.
Az üzemelő Kubernetes-példányok működése
A Kubernetes üzembe helyezési stratégiájának bevezetése előtt meg kell ismernie az üzemelő példányok elemeit, illetve azt, hogy ezek hogyan működnek együtt.
Az üzemelő Kubernetes-példányok alkotóelemei
YAML-fájl
A Kubernetes-fürt kívánt állapota (a podok konfigurációja), amelyet Ön szab meg, és a Kubernetes üzembe helyezésének alapja.
Podok
Az alkalmazás vagy munkafolyamat futtatásához szükséges tárolók, megosztott erőforrások és környezet.
ReplicaSet
Az azonos módon konfigurált podok csoportjait ReplicaSeteknek nevezzük. Ezek gondoskodnak arról, hogy a Kubernetes üzembe helyezésének YAML-fájljában ismertetett típusa és számú podok folyamatosan futnak. Ha egy pod hibába ütközik, létrejön egy új.
Kube-controller-manager
Úgy módosítja a fürt aktuális állapotát, hogy az megfeleljen a YAML-fájlban ismertetett kívánt állapotnak. Ehhez új podokat és ReplicaSeteket hoz létre, valamint frissíti vagy eltávolítja a meglévőket.
Kube-scheduler
Meghatározza a podok és ReplicaSetek üzembe helyezésének módját a munkavégző csomópontok között, valamint elosztja ezen csomópontok között a forgalmat.
Bevezetés
A fürt jelenlegi állapotáról a kívánt állapotra történő újrakonfigurálásának folyamata – legtöbbször állásidő nélkül elvégezhető.
A Kubernetes bevezetésének működése
- Hozzon létre egy YAML-fájlt, amely a fürt kívánt állapotkonfigurációját ismerteti.
- Alkalmazza a YAML-fájlt a fürtre a Kubernetes parancssori felülete, a kubectl segítségével.
- A kubectl elküldi a kérést a kube-apiservernek, amely hitelesíti és jóváhagyja, majd rögzíti azt az etcd adatbázisban.
- A kube-controller-manager folyamatosan figyeli a rendszert és az új kéréseket, és igyekszik a rendszerállapotot a kívánt értéken tartani. Ennek során ReplicaSeteket, üzemelő példányokat és podokat hoz létre.
- Az összes vezérlő futtatása után a kube-scheduler azt tapasztalja, hogy "pending" (függőben) állapotú podok találhatók a rendszerben, mivel ezek még nem lettek egy csomóponton való futásra ütemezve. A scheduler megfelelő csomópontokat keres a podoknak, majd utasítja az egyes csomópontok kubeletjeit, hogy vegyék át a vezérlést, és kezdjék meg az üzembe helyezést.
A Kubernetes üzembe helyezésének használati esetei
Létrehozás
Teljesen új Kubernetes-podokat és ReplicaSeteket adhat ki.
Frissítés
Új kívánt állapot megállapítása, valamint új podok és ReplicaSetek bevezetése ellenőrzött módon.
Visszaállítás
A Kubernetes üzemelő példányának visszaállítása egy korábbi állapotra – ez hasznos lehet, ha a jelenlegi állapot instabil.
Skálázás
A Kubernetes üzemelő példányában található podok és ReplicaSetek számának növelése azok módosítása nélkül.
A Kubernetes üzembe helyezési stratégiái
Az Önnek legmegfelelőbb Kubernetes-stratégia számos szemponttól függhet: a megengedett állásidő (ha egyáltalán engedi), az üzembe helyezési környezet, az Ön az új verzióba vagy platformba vetett bizalma, a tesztelési igények és várt eredmények, az erőforrások költségei és rendelkezésre állása, valamint az üzleti célok. Íme négy gyakori üzembe helyezési stratégia, amelyet szervezetek éles környezetben használnak.
Felfutásos
A Kubernetes alapértelmezett bevezetési metódusa az úgynevezett felfutásos vagy gördülő üzembe helyezés. Ez az üzembe helyezés lassan, egyenként cseréli le a podokat az állásidő elkerülése érdekében. A régi podokat csak az új podok készenléte után skálázza le vertikálisan. Ha az üzembe helyezés problémába ütközik, szüneteltetheti vagy megszakíthatja a Kubernetes üzembe helyezését anélkül, hogy ehhez a teljes fürtöt offline üzemmódba helyezné.
Kék/zöld
Blue/green típusú üzembe helyezés keretében Ön kiadja az alkalmazás vagy munkafolyamat új verzióját (blue), míg a jelenlegi verzió (green) továbbra is fut. Így tesztelheti az új verziót az éles környezetben, miközben a felhasználók továbbra is a stabil jelenlegi verziót látják. A tesztelés után az új verzió fokozatosan átveszi a régebbi helyét.
Tesztcsoport
Az új verzió egy kisebb csoportnak való kiadásával lehetővé teheti az ügyfelek számára, hogy teszteljék a Kubernetes-példányt. Az új verzió ReplicaSetjét az aktuális verzióval együtt futtathatja, majd egy adott hibamentes időszak után vertikálisan felskálázhatja az új verziót, és kivezetheti a régit.
A/B-tesztelés
A Kubernetes tesztcsoportos üzembe helyezési stratégiájához hasonlóan az A/B-tesztelési stratégia is egy adott ügyfélcsoportra összpontosít. Az A/B-tesztelés üzembe helyezése azonban nemcsak egy verzió stabilitásáért felel, hanem azt is vizsgálja, hogy a verzió mennyire hatékony az üzleti célok elérésében. Az új verziót a felhasználók olyan szempontok alapján kapják meg, mint a cookie-k, a földrajzi hely, az operációs rendszer, valamint az eszköztípus, és gyakran az aktuális verzióval együtt fut – majd vertikálisan felskálázható, ha hatékonynak bizonyul.
A Kubernetes üzembe helyezésének eszközei
A fenti üzembe helyezési stratégiák bármelyikét elvégezheti a parancssorral vagy YAML-fájlokkal, azonban az alábbi, Kubernetesbeli üzembe helyezésre vonatkozó eszközökkel magasabb szintű irányítást gyakorolhat a fürtök és példányok fölött.
Azure DevOps
A Kubernetes-példányok automatizálásához szükséges teljes alkalmazásellátási lánc. Gyorsabban és nagyobb mértékben szolgáltathat kódot, a sebesség és a biztonság tökéletes egyensúlyával.
Helm
Egy nyílt forráskódú csomagolóeszköz. Ön által létrehozott, verziókezelt, megosztott és közzétett diagramokkal telepíthet, frissíthet és kezelhet Kubernetes-alkalmazásokat.
Azure Kubernetes Service (AKS)
Egy magas rendelkezésre állású, biztonságos és teljes mértékben felügyelt Kubernetes-szolgáltatás. Tárolóalapú alkalmazásokat helyezhet üzembe és kezelhet a felhőben.