Strategie nasazení Kubernetes
Najděte si optimální strategii zavedení Kubernetes pro vaši aplikaci.
Seznámení s možnostmi nasazení Kubernetes
Ať už chcete zrychlit uvádění na trh, vytvářet odolná nasazení bez výpadků, vydávat aplikace a funkce rychleji nebo častěji nebo zvýšit flexibilitu provozu, klíčem k zajištění odolnosti aplikací a infrastruktury je volba správné strategie nasazení Kubernetes. Každá strategie nasazení Kubernetes má své výhody v závislosti na vašich cílech a potřebách.
Jak fungují nasazení Kubernetes
Před implementací strategie nasazení Kubernetes musíte porozumět jednotlivým částem nasazení Kubernetes a způsobu, jak všechny dohromady fungují.
Co je součástí nasazení Kubernetes
Soubor YAML
Vámi popsaný požadovaný stav vašeho clusteru Kubernetes (konfigurace podů), který slouží jako základ pro nasazení Kubernetes.
Pody
Kontejnery, sdílené prostředky a prostředí, která vaše aplikace nebo pracovní postup vyžadují k provozu.
Sada replik
Skupiny stejně nakonfigurovaných podů se označují jako sady replik, které zajišťují, aby vždy byl spuštěný určitý počet podů určitého typu, jak je popsáno v souboru YAML pro nasazení Kubernetes. Pokud některý pod selže, vytvoří se nový.
Kube-controller-manager
Tento proces démon mění aktuální stav clusteru tak, aby odpovídal požadovanému stavu popsanému v souboru YAML, vytváří nové pody a sady replik a aktualizuje nebo odebírá stávající.
Kube-scheduler
Tato funkce určuje způsob nasazení podů a sad replik mezi pracovní uzly a také distribuuje provoz do těchto uzlů.
Zavádění
Proces změny konfigurace clusteru z aktuálního stavu do požadovaného stavu, který ve většině případů probíhá bez výpadků.
Princip fungování zavádění Kubernetes
- Vytvoříte soubor YAML s popisem konfigurace požadovaného stavu clusteru.
- Prostřednictvím kubectl, což je rozhraní příkazového řádku Kubernetes, tento soubor YAML použijete na cluster.
- Kubectl odešle požadavek na kube-apiserver, který požadavek ověří a autorizuje a následně zaznamená změnu do databáze etcd.
- Proces démon kube-controller-manager průběžně monitoruje nové požadavky v systému a pracuje na přiblížení stavu systému požadovanému stavu, zatímco vytváří sady replik, nasazení a pody.
- Po spuštění všech kontrolerů funkce kube-scheduler zjistí, že existují pody ve stavu „čekání“, protože se ještě nenaplánovalo jejich spuštění na některém uzlu. Plánovač pro tyto pody najde vhodné uzly, pak naváže komunikaci s kubelety na jednotlivých uzlech, převezme kontrolu nad nasazením a zahájí ho.
Případy použití pro nasazení Kubernetes
Vytvoření
Zavádějte zcela nové sady replik a pody Kubernetes.
Aktualizace
Deklarujte nový požadovaný stav a zavádějte nové pody a sady replik kontrolovaným způsobem.
Vrácení zpět
Nasazení Kubernetes můžete vrátit do předchozího stavu. To je užitečné v případě, že je aktuální stav nestabilní.
Škálování
Využijte možnost zvýšit počet podů a sad replik v nasazení Kubernetes, aniž byste je museli měnit.
Strategie nasazení Kubernetes
Nejvhodnější strategie nasazení Kubernetes pro váš scénář závisí na řadě faktorů: délka výpadků, kterou můžete tolerovat (pokud vůbec), vaše vývojové prostředí, vaše míra jistoty stabilitou nové verze nebo platformy, vaše požadavky na provádění testů a jejich očekávané výstupy, náklady na prostředky a jejich dostupnost a obchodní cíle. Tady jsou čtyři běžné strategie nasazení, které organizace využívají v produkčním prostředí.
Kumulativní
Výchozí metodou zavádění v Kubernetes je kumulativní neboli postupné nasazení. Při tomto nasazení se pomalu nahrazují pody jeden po druhém, aby se zabránilo výpadkům. Kapacita starých podů se vertikálně sníží teprve tehdy, kdy jsou připravené nové pody. Pokud ve vašem nasazení Kubernetes dojde k problémům, můžete ho pozastavit nebo zrušit, aniž byste museli odpojovat celý cluster.
Modrá/zelená
V nasazení typu modrá/zelená vydáte novou verzi (modrá) vaší aplikace nebo pracovního postupu, zatímco je aktuální verze (zelená) stále spuštěná. Díky tomu můžete testovat modrou verzi v produkčním prostředí a uživatelům zpřístupnit pouze stabilní zelenou verzi. Po otestování modrá verze postupně nahradí zelenou verzi.
Testovací hodnoty
Vydejte novou verzi nasazení Kubernetes pro malou skupinu zákazníků a umožněte jim ji otestovat. Vedle aktuální verze budete mít jednu sadu replik nové verze a po určité době, kdy nedojde k žádným chybám, vertikálně navýšíte kapacitu nové verze odebráním staré verze.
Testování A/B
Podobně jako strategie nasazení Kubernetes s testovacími hodnotami i strategie testování A/B cílí na konkrétní skupinu zákazníků. Cílem nasazení s testováním A/B je však zajistit více než jen stabilitu verze – slouží k testování efektivity konkrétní verze při dosahování obchodních cílů. Nová verze se distribuuje uživatelům na základě faktorů, jako jsou soubory cookie, geografická poloha, operační systém a typ zařízení, a často běží vedle aktuální verze. Když se nová verze osvědčí, vertikálně navýší svou kapacitu.
Nástroje pro nasazení Kubernetes
K provedení jakékoli z těchto strategií nasazení Kubernetes můžete použít příkazový řádek nebo soubory YAML, ale implementací služeb a nástrojů pro nasazení Kubernetes, jako jsou tyto, můžete nad clustery a nasazeními získat větší úroveň kontroly.
Azure DevOps
Kompletní dodavatelský řetězec aplikací umožňující automatizovat nasazení Kubernetes. Najděte rovnováhu mezi rychlostí a zabezpečením a doručujte kód rychleji a ve velkém měřítku.
Helm
Opensourcový nástroj pro balení. Instalujte, upgradujte a spravujte aplikace Kubernetes s využitím diagramů, které můžete vytvářet, sdílet, publikovat a spravovat jejich verze.
Azure Kubernetes Service (AKS)
Vysoce dostupná, zabezpečená a plně spravovaná služba Kubernetes. Nasazujte a spravujte kontejnerizované aplikace v cloudu.