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.

Ještě Kubernetes neznáte? Seznamte se se základy

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ějaký 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ů.

Architektura nasazení Kubernetes

Princip fungování zavádění Kubernetes

  1. Vytvoříte soubor YAML s popisem konfigurace požadovaného stavu clusteru.
  2. Prostřednictvím kubectl, což je rozhraní příkazového řádku Kubernetes, tento soubor YAML použijete na cluster.
  3. Kubectl odešle požadavek na kube-apiserver, který požadavek ověří a autorizuje a následně zaznamená změnu do databáze etcd.
  4. 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.
  5. 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

Kontejnerizované aplikace a pracovní postupy můžete prostřednictvím nasazení Kubernetes zavádět čtyřmi způsoby. Strategie nasazení Kubernetes, kterou použijete, může zahrnovat jeden nebo několik z těchto případů použití.

Create

Zavádějte zcela nové sady replik a pody Kubernetes.

Aktualizovat

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.

Další informace

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.

Další informace

Azure Kubernetes Service (AKS)

Vysoce dostupná, zabezpečená a plně spravovaná služba Kubernetes. Nasazujte a spravujte kontejnerizované aplikace v cloudu.

Další informace

Jsme na vás připraveni – vyzkoušejte Kubernetes v Azure zdarma