Udostępnij za pośrednictwem


Orkiestracja kontenerów dla mikrousług

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

Architektury mikrousług zwykle pakuj i wdrażają każde wystąpienie mikrousługi w jednym kontenerze. Wiele wystąpień mikrousług może być uruchomionych, z których każdy należy do oddzielnego kontenera. Kontenery są lekkie i krótkotrwałe, co ułatwia tworzenie i niszczenie kontenerów, ale trudno je koordynować i komunikować się między nimi.

W tym artykule omówiono wyzwania związane z uruchamianiem konteneryzowanej architektury mikrousług w skali produkcyjnej oraz sposobem, w jaki orkiestracja kontenerów może pomóc. W tym artykule przedstawiono kilka opcji aranżacji kontenerów platformy Azure.

Architektura konteneryzowanych mikrousług

W tym prostym konteneryzowanym klastrze usługi Azure Kubernetes Service (AKS):

  • Jedno wystąpienie mikrousługi A działa w węźle 1, innym wystąpieniu w węźle 2 i trzecim wystąpieniu w środowisku Node 3.
  • Jedno wystąpienie mikrousługi B jest uruchomione w węźle 1, a drugie wystąpienie w węźle 3.
  • Konteneryzowane zwrotnych serwerów proxy działają w węzłach 1 i 2 w celu dystrybucji ruchu.

Diagram koncepcyjny prostej architektury mikrousług konteneryzowanych.

Aby zarządzać klastrem, zespół DevOps musi:

  • Uruchamianie wielu wystąpień kontenera w każdym węźle.
  • Równoważenie obciążenia ruchu między wystąpieniami.
  • Zarządzanie komunikacją między wystąpieniami zależnymi w oddzielnych węzłach.
  • Zachowaj żądany stan klastra usługi AKS.

Dzięki orkiestracji kontenerów zespół DevOps może reprezentować żądany stan klastra jako konfigurację. Aparat aranżacji kontenerów wymusza żądaną konfigurację i automatyzuje wszystkie zadania zarządzania.

Rozważ konteneryzowanie prostej trójwarstwowej aplikacji internetowej:

  • Kontener hostuje składnik frontonu.
  • Inny kontener hostuje warstwę środkową lub warstwę interfejsu API REST.
  • Warstwa środkowa komunikuje się z globalnie rozproszoną bazą danych.

Uruchamianie tych kontenerów na jednej maszynie deweloperów może nie być zbyt trudne. Jednak uruchomienie aplikacji w trybie wysokiej dostępności na dużą skalę w klastrze produkcyjnym szybko staje się trudne. Orkiestracja kontenerów ma kluczowe znaczenie dla dużych i dynamicznych środowisk produkcyjnych.

Zalety orkiestracji kontenerów

W poniższym przykładzie pokazano, jak orkiestracja kontenerów może pomóc w zarządzaniu wdrażaniem klastra, siecią i skalowaniem.

Diagram przykładowego klastra mikrousług przedstawiający scenariusze orkiestratora kontenerów.

Orkiestrator kontenerów:

  • Automatycznie skaluje liczbę wystąpień mikrousług na podstawie ruchu lub wykorzystania zasobów. W tym przykładzie orkiestrator automatycznie dodaje kolejne wystąpienie mikrousługi A w odpowiedzi na zwiększony ruch.

  • Zarządza kontenerami w celu odzwierciedlenia skonfigurowanego żądanego stanu. W tym przykładzie mikrousługa B jest skonfigurowana tak, aby miały dwa wystąpienia. Jedno wystąpienie stało się w złej kondycji, więc orkiestrator utrzymuje żądany stan przez utworzenie innego wystąpienia.

  • Opakowuje kontenery dla każdej mikrousługi w prostej warstwie usługi. Warstwa usługi:

    • Wyodrębnia złożone elementy, takie jak adres IP, port i liczba wystąpień.
    • Obciążenie równoważy ruch między wystąpieniami mikrousług.
    • Obsługuje łatwą komunikację między wystąpieniami zależnych mikrousług.

Orkiestratory kontenerów zapewniają również elastyczność i kontrolę ruchu w celu:

  • Zwolnij nowe wersje lub wycofaj stare wersje mikrousług lub zestawów mikrousług bez przestojów.
  • Włącz testowanie równoległe różnych wersji mikrousług.

Wybieranie orkiestratora kontenerów platformy Azure

Poniżej przedstawiono kilka opcji implementowania orkiestracji kontenerów mikrousług na platformie Azure:

  • usługi Azure Kubernetes Service (AKS) to w pełni zarządzana usługa Kubernetes orkiestracji kontenerów na platformie Azure, która upraszcza wdrażanie konteneryzowanych aplikacji i zarządzanie nimi. Usługa AKS zapewnia elastyczną aprowizację, szybkie kompleksowe wdrażanie oraz zaawansowane zarządzanie tożsamościami i dostępem.

  • usługa Azure Service Fabric to orkiestrator kontenerów służący do wdrażania mikrousług i zarządzania nimi w klastrze maszyn. Uproszczone środowisko uruchomieniowe usługi Service Fabric obsługuje tworzenie mikrousług bezstanowych i stanowych.

    Kluczowym inicjatorem usługi Service Fabric jest niezawodna obsługa tworzenia usług stanowych. Możesz użyć wbudowanego modelu programowania usług stanowych lub uruchamiać konteneryzowane usługi stanowe napisane w dowolnym języku lub kodzie.

  • usługi Azure Container Instances (ACI) to najszybszy i najprostszy sposób uruchamiania kontenera na platformie Azure. Dzięki usłudze ACI nie trzeba zarządzać maszynami wirtualnymi ani dostosowywać usług wyższego poziomu.

    W przypadku prostych scenariuszy orkiestracji można użyć Docker Compose do definiowania i uruchamiania aplikacji z wieloma kontenerami lokalnie. Następnie wdróż kontenery platformy Docker jako grupę kontenerów ACI w zarządzanym, bezserwerowym środowisku platformy Azure. W przypadku scenariuszy pełnej aranżacji kontenerów usługa ACI może integrować się z usługą AKS w celu utworzenia węzłów wirtualnych na potrzeby orkiestracji usługi AKS.

  • azure Spring Apps to gotowa do użycia w pełni zarządzana usługa dla aplikacji Spring Boot. Usługa Spring Apps umożliwia skoncentrowanie się na tworzeniu i uruchamianiu aplikacji bez konieczności zarządzania infrastrukturą. Usługa Spring Apps oferuje wbudowane zarządzanie cyklem życia i aranżacją, łatwość monitorowania i pełną integrację z platformą Azure.

  • usługi Azure Red Hat OpenShift (ARO) obsługuje wdrażanie w pełni zarządzanych klastrów OpenShift na platformie Azure. Uruchamianie kontenerów produkcyjnych platformy Kubernetes wymaga integracji z platformami i narzędziami, takimi jak rejestry obrazów, zarządzanie magazynem, monitorowanie i metodyka DevOps. Usługa ARO rozszerza platformę Kubernetes, łącząc te składniki w jedną platformę kontenera jako usługę (PaaS).

Współpracowników

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki