Sdílet prostřednictvím


Orchestrace kontejnerů pro mikroslužby

Azure Kubernetes Service (AKS)
Azure Service Fabric
Azure Container Instances

Architektury mikroslužeb obvykle zabalí a nasadí každou instanci mikroslužby do jednoho kontejneru. Je možné, že je spuštěno mnoho instancí mikroslužeb, z nichž každý je v samostatném kontejneru. Kontejnery jsou jednoduché a krátkodobé, takže je snadné vytvářet a zničit, ale obtížně koordinovat a komunikovat mezi nimi.

Tento článek popisuje problémy se spouštěním architektury kontejnerizovaných mikroslužeb v produkčním měřítku a o tom, jak vám může pomoct orchestrace kontejnerů. Tento článek obsahuje několik možností orchestrace kontejnerů Azure.

Architektura kontejnerizovaných mikroslužeb

V tomto jednoduchém kontejnerizovaném clusteru Azure Kubernetes Service (AKS):

  • Jedna instance mikroslužby A běží v Node 1, jiné instanci v Node 2 a třetí instanci v Node 3.
  • Jedna instance mikroslužby B běží v Node 1 a další instance v Node 3.
  • Kontejnerizované reverzní proxy servery, běží v Uzlech 1 a 2 pro distribuci provozu.

koncepční diagram jednoduché kontejnerizované architektury mikroslužeb.

Ke správě clusteru musí tým DevOps:

  • V každém uzlu spusťte více instancí kontejneru.
  • Vyrovnávání zatížení provozu mezi instancemi
  • Správa komunikace mezi závislými instancemi v samostatných uzlech
  • Udržujte požadovaný stav clusteru AKS.

Díky orchestraci kontejnerů může tým DevOps představovat požadovaný stav clusteru jako konfiguraci. Modul orchestrace kontejnerů vynucuje požadovanou konfiguraci a automatizuje všechny úlohy správy.

Zvažte kontejnerizaci jednoduché třívrstvé webové aplikace:

  • Kontejner hostuje front-endovou komponentu.
  • Jiný kontejner hostuje střední vrstvu nebo vrstvu rozhraní REST API.
  • Vrstva střední vrstvy komunikuje s globálně distribuovanou databází.

Spuštění těchto kontejnerů na jednom vývojovém počítači nemusí být příliš těžké. Spuštění aplikace v režimu vysoké dostupnosti ve velkém v produkčním clusteru se ale rychle stává náročné. Orchestrace kontejnerů je zásadní pro rozsáhlá a dynamická produkční prostředí.

Výhody orchestrace kontejnerů

Následující příklad ukazuje, jak může orchestrace kontejnerů pomoct spravovat nasazení clusteru, sítě a škálování.

diagram ukázkového clusteru mikroslužeb zobrazující scénáře orchestratoru kontejnerů

Orchestrátor kontejnerů:

  • Automaticky škáluje počet instancí mikroslužeb na základě využití provozu nebo prostředků. V tomto příkladu orchestrátor automaticky přidá další instanci Mikroslužby A v reakci na zvýšený provoz.

  • Spravuje kontejnery tak, aby odrážely nakonfigurovaný požadovaný stav. V tomto příkladu je mikroslužba B nakonfigurovaná tak, aby měla dvě instance. Jedna instance není v pořádku, takže orchestrátor udržuje požadovaný stav vytvořením jiné instance.

  • Zabalí kontejnery pro každou mikroslužbu do jednoduché vrstvy služby. Vrstva služby:

    • Abstrahuje složitosti, jako jsou IP adresa, port a počet instancí.
    • Zatížení vyrovnává provoz mezi instancemi mikroslužeb.
    • Podporuje snadnou komunikaci mezi závislými instancemi mikroslužeb.

Orchestrátory kontejnerů také poskytují flexibilitu a řízení provozu pro:

  • Uvolněte nové verze nebo vraťte zpět do starých verzí mikroslužeb nebo sad mikroslužeb bez výpadků.
  • Souběžné testování různých verzí mikroslužeb

Volba orchestrátoru kontejnerů Azure

Tady jsou některé možnosti implementace orchestrace kontejnerů mikroslužeb v Azure:

  • azure Kubernetes Service (AKS) je plně spravovaná služba orchestrace kontejnerů Kubernetes kontejneru v Azure, která zjednodušuje nasazení a správu kontejnerizovaných aplikací. AKS poskytuje elastické zřizování, rychlé komplexní nasazení a pokročilou správu identit a přístupu.

  • Azure Service Fabric je orchestrátor kontejnerů pro nasazování a správu mikroslužeb v clusteru počítačů. Jednoduchý modul runtime Service Fabric podporuje vytváření bezstavových a stavových mikroslužeb.

    Klíčovým rozdílem Service Fabric je robustní podpora vytváření stavových služeb. Můžete použít integrovaný programovací model stavových služeb nebo spustit kontejnerizované stavové služby napsané v libovolném jazyce nebo kódu.

  • služby Azure Container Instances (ACI) je nejrychlejší a nejjednodušší způsob, jak spustit kontejner v Azure. S ACI nemusíte spravovat virtuální počítače ani přizpůsobovat služby vyšší úrovně.

    V případě jednoduchých scénářů orchestrace můžete pomocí Docker Compose definovat a spustit aplikaci s více kontejnery místně. Pak nasaďte kontejnery Dockeru jako skupinu kontejnerů ACI ve spravovaném bezserverovém prostředí Azure. V případě kompletních scénářů orchestrace kontejnerů může ACI integrovat s AKS a vytvářet virtuální uzly pro orchestraci AKS.

  • azure Spring Apps je plně spravovaná služba připravená pro aplikace Spring Boot. S aplikací Spring Apps se můžete soustředit na vytváření a spouštění aplikací, aniž byste museli spravovat infrastrukturu. Spring Apps je součástí integrované správy životního cyklu a orchestrace, snadného monitorování a úplné integrace s Azure.

  • Azure Red Hat OpenShift (ARO) podporuje nasazení plně spravovaných clusterů OpenShift v Azure. Spouštění produkčních kontejnerů Kubernetes vyžaduje integraci s architekturami a nástroji, jako jsou registry imagí, správa úložiště, monitorování a DevOps. ARO rozšiřuje Kubernetes tím, že tyto komponenty zkombinuje do jedné kontejnerové platformy jako služby (PaaS).

Přispěvatelů

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autor:

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky