Sdílet prostřednictvím


Azure Container Instances a orchestrátory kontejnerů

Z důvodu jejich malé velikosti a orientace aplikace jsou kontejnery vhodné pro agilní prostředí pro doručování a architektury založené na mikroslužbách. Úloha automatizace a správy velkého počtu kontejnerů a způsobu interakce se označuje jako orchestrace. Mezi oblíbené orchestrátory kontejnerů patří Kubernetes, DC/OS a Docker Swarm.

Azure Container Instances poskytuje některé ze základních možností plánování orchestračních platforem. A i když se nevztahuje na služby s vyšší hodnotou, které tyto platformy poskytují, může je služba Azure Container Instances doplnit. Tento článek popisuje rozsah toho, co služba Azure Container Instances zpracovává a jak s ním můžou komunikovat úplné orchestrátory kontejnerů.

Tradiční orchestrace

Standardní definice orchestrace zahrnuje následující úlohy:

  • Plánování: Při zadání image kontejneru a požadavku na prostředek vyhledejte vhodný počítač, na kterém se má kontejner spustit.
  • Spřažení/spřažení: Určete, že by se sada kontejnerů měla navzájem spouštět (pro zajištění výkonu) nebo dostatečně daleko od sebe (pro dostupnost).
  • Monitorování stavu: Sledujte selhání kontejnerů a automaticky je přeplánujte.
  • Převzetí služeb při selhání: Sledujte, co běží na každém počítači, a přeplánujte kontejnery z neúspěšných počítačů na uzly, které jsou v pořádku.
  • Škálování: Přidejte nebo odeberte instance kontejneru tak, aby odpovídaly poptávce, a to buď ručně, nebo automaticky.
  • Sítě: Poskytuje překryvnou síť pro koordinaci kontejnerů pro komunikaci napříč několika hostitelskými počítači.
  • Zjišťování služeb: Umožňuje, aby se kontejnery automaticky vyhlašovali, i když se pohybují mezi hostitelskými počítači a mění IP adresy.
  • Koordinované upgrady aplikací: Spravujte upgrady kontejnerů, abyste se vyhnuli výpadkům aplikací, a povolte vrácení zpět, pokud se něco nepovede.

Orchestrace pomocí služby Azure Container Instances: Vícevrstvý přístup

Azure Container Instances umožňuje vícevrstvý přístup k orchestraci a poskytuje všechny možnosti plánování a správy potřebné ke spuštění jednoho kontejneru a zároveň umožňuje platformám orchestrátoru spravovat úlohy s více kontejnery nad ním.

Vzhledem k tomu, že základní infrastrukturu pro instance kontejnerů spravuje Azure, nemusí se platforma orchestrátoru zabývat nalezením vhodného hostitelského počítače, na kterém se má spustit jeden kontejner. Elasticita cloudu zajišťuje, že je vždy k dispozici. Místo toho se orchestrátor může zaměřit na úlohy, které zjednodušují vývoj architektur s více kontejnery, včetně škálování a koordinovaných upgradů.

Scénáře

I když je integrace orchestrátoru se službou Azure Container Instances stále nepřesná, předpokládáme, že se objeví několik různých prostředí:

Orchestrace instancí kontejnerů výhradně

Vzhledem k tomu, že se začnou rychle a fakturují po druhé, nabízí prostředí založené výhradně na službě Azure Container Instances nejrychlejší způsob, jak začít a řešit vysoce proměnlivé úlohy.

Kombinace instancí kontejnerů a kontejnerů ve službě Virtual Machines

U dlouhotrvajících stabilních úloh je orchestrace kontejnerů v clusteru vyhrazených virtuálních počítačů obvykle levnější než spouštění stejných kontejnerů se službou Azure Container Instances. Instance kontejnerů ale nabízejí skvělé řešení pro rychlé rozšiřování a zřetězení celkovou kapacitu pro řešení neočekávaných nebo krátkodobých špiček využití.

Místo horizontálního navýšení kapacity počtu virtuálních počítačů v clusteru a následné nasazení dalších kontejnerů na tyto počítače může orchestrátor jednoduše naplánovat další kontejnery ve službě Azure Container Instances a odstranit je, když už nejsou potřeba.

Ukázková implementace: virtuální uzly pro Azure Kubernetes Service (AKS)

Pokud chcete rychle škálovat úlohy aplikací v clusteru Azure Kubernetes Service (AKS), můžete používat virtuální uzly vytvořené dynamicky ve službě Azure Container Instances. Virtuální uzly umožňují síťovou komunikaci mezi pody, které běží v ACI a clusteru AKS.

Virtuální uzly aktuálně podporují instance kontejnerů Linuxu. Začínáme s virtuálními uzly pomocí Azure CLI nebo webu Azure Portal

Virtuální uzly používají opensourcový virtuální kubelet k napodobení kubeletu Kubernetes registrací jako uzlu s neomezenou kapacitou. Virtuální kubelet odešle vytváření podů jako skupiny kontejnerů ve službě Azure Container Instances.

Další příklady rozšíření rozhraní Kubernetes API na bezserverové kontejnerové platformy najdete v projektu Virtual Kubelet.

Další kroky

Pomocí příručky Rychlý start vytvořte svůj první kontejner se službou Azure Container Instances.