Ruch przychodzący w usłudze Azure Kubernetes Service (AKS)
Ruch przychodzący w usłudze AKS to zasób Platformy Kubernetes, który zarządza zewnętrznym dostępem do ruchu typu HTTP do usług w klastrze. Ruch przychodzący usługi AKS może zapewniać usługi, takie jak równoważenie obciążenia, kończenie żądań SSL i hosting wirtualny oparty na nazwach. Aby uzyskać więcej informacji na temat ruchu przychodzącego Kubernetes, zobacz dokumentację ruchu przychodzącego Kubernetes.
Kontrolery ruchu przychodzącego
Podczas zarządzania ruchem aplikacji kontrolery ruchu przychodzącego zapewniają zaawansowane możliwości dzięki obsłudze w warstwie 7. Mogą kierować ruch HTTP do różnych aplikacji na podstawie adresu URL ruchu przychodzącego, co pozwala na bardziej inteligentne i elastyczne reguły dystrybucji ruchu. Na przykład kontroler ruchu przychodzącego może kierować ruch do różnych mikrousług w zależności od ścieżki adresu URL, zwiększając wydajność i organizację usług.
Z drugiej strony usługa typu LoadBalancer po utworzeniu konfiguruje bazowy zasób modułu równoważenia obciążenia platformy Azure. Ten moduł równoważenia obciążenia działa w warstwie 4, dystrybuując ruch do zasobników w usłudze na określonym porcie. Jednak usługi warstwy 4 nie znają rzeczywistych aplikacji i nie mogą implementować tych typów złożonych reguł routingu.
Zrozumienie różnic między tymi dwoma podejściami pomaga w wyborze odpowiedniego narzędzia dla potrzeb w zakresie zarządzania ruchem.
Porównanie opcji ruchu przychodzącego
W poniższej tabeli wymieniono różnice funkcji między różnymi opcjami kontrolera ruchu przychodzącego:
Funkcja | Dodatek routingu aplikacji | Usługa Application Gateway dla kontenerów | Siatka usług oparta na usłudze Azure Service Mesh/Istio |
---|---|---|---|
Ruch przychodzący/kontroler bramy | Kontroler ruchu przychodzącego NGINX | aplikacja systemu Azure Gateway for Containers | Brama ruchu przychodzącego Istio |
API | Interfejs API ruchu przychodzącego | Interfejs API ruchu przychodzącego i interfejs API bramy | Interfejs API ruchu przychodzącego Istio |
Hosting | W klastrze | Hostowana na platformie Azure | W klastrze |
Skalowanie | Skalowanie automatyczne | Skalowanie automatyczne | Skalowanie automatyczne |
Równoważenie obciążenia | Wewnętrzne/zewnętrzne | Zewnętrzne | Wewnętrzne/zewnętrzne |
Kończenie żądań SSL | W klastrze | Tak: odciążanie i protokół E2E SSL | W klastrze |
mTLS | Nie dotyczy | Tak do zaplecza | Nie dotyczy |
Statyczny adres IP | Nie dotyczy | Nazwa FQDN | Nie dotyczy |
Usługa Azure Key Vault przechowywała certyfikaty SSL | Tak | Tak | Nie dotyczy |
Integracja usługi Azure DNS z zarządzaniem strefami DNS | Tak | Tak | Nie dotyczy |
W poniższej tabeli wymieniono różne scenariusze, w których można użyć każdego kontrolera ruchu przychodzącego:
Opcja ruchu przychodzącego | Kiedy używać |
---|---|
Zarządzany serwer NGINX — dodatek routingu aplikacji | • Hostowane w klastrze, dostosowywalne i skalowalne kontrolery ruchu przychodzącego NGINX. • Podstawowe możliwości równoważenia obciążenia i routingu. • Konfiguracja wewnętrznego i zewnętrznego modułu równoważenia obciążenia. • Konfiguracja statycznego adresu IP. • Integracja z usługą Azure Key Vault na potrzeby zarządzania certyfikatami. • Integracja ze strefami usługi Azure DNS na potrzeby zarządzania publicznym i prywatnym systemem DNS. • Obsługuje interfejs API ruchu przychodzącego. |
Usługa Application Gateway dla kontenerów | • Brama ruchu przychodzącego hostowana na platformie Azure. • Elastyczne strategie wdrażania zarządzane przez kontroler lub przynieść własną usługę Application Gateway for Containers. • Zaawansowane funkcje zarządzania ruchem, takie jak automatyczne ponawianie prób, odporność strefy dostępności, wzajemne uwierzytelnianie (mTLS) na cel zaplecza, dzielenie ruchu / ważone działanie okrężne i skalowanie automatyczne. • Integracja z usługą Azure Key Vault na potrzeby zarządzania certyfikatami. • Integracja ze strefami usługi Azure DNS na potrzeby zarządzania publicznym i prywatnym systemem DNS. • Obsługuje interfejsy API ruchu przychodzącego i bramy. |
Brama ruchu przychodzącego Istio | • Na podstawie envoy, w przypadku korzystania z istio dla siatki usług. • Zaawansowane funkcje zarządzania ruchem, takie jak ograniczanie szybkości i przerywanie obwodów. • Obsługa biblioteki mTLS |
Uwaga
Interfejs API bramy dla ruchu przychodzącego istio nie jest jeszcze obsługiwany w przypadku dodatku Istio, ale jest obecnie w trakcie aktywnego programowania.
Tworzenie zasobu ruchu przychodzącego
Dodatek routingu aplikacji jest zalecanym sposobem konfigurowania kontrolera ruchu przychodzącego w usłudze AKS. Dodatek routingu aplikacji to w pełni zarządzany kontroler ruchu przychodzącego dla usługi Azure Kubernetes Service (AKS), który udostępnia następujące funkcje:
Łatwa konfiguracja zarządzanych kontrolerów ruchu przychodzącego NGINX na podstawie kontrolera ruchu przychodzącego NGINX Platformy Kubernetes.
Integracja z usługą Azure DNS na potrzeby zarządzania strefami publicznymi i prywatnymi.
Kończenie żądań SSL z certyfikatami przechowywanymi w usłudze Azure Key Vault.
Aby uzyskać więcej informacji na temat dodatku routingu aplikacji, zobacz Managed NGINX ingress with the application routing add-on (Zarządzana ruch przychodzący NGINX z dodatkiem routingu aplikacji).
Zachowywanie źródłowego adresu IP klienta
Skonfiguruj kontroler ruchu przychodzącego, aby zachować źródłowy adres IP klienta na żądaniach do kontenerów w klastrze usługi AKS. Gdy kontroler ruchu przychodzącego kieruje żądanie klienta do kontenera w klastrze usługi AKS, oryginalny źródłowy adres IP tego żądania jest niedostępny dla kontenera docelowego. Po włączeniu zachowania źródłowego adresu IP klienta źródłowy adres IP klienta jest dostępny w nagłówku żądania w obszarze X-Forwarded-For.
Jeśli używasz zachowania źródłowego adresu IP klienta na kontrolerze ruchu przychodzącego, nie możesz użyć przekazywania protokołu TLS. Zachowywanie źródłowego adresu IP klienta i przekazywanie protokołu TLS może być używane z innymi usługami, takimi jak typ modułu LoadBalancer .
Aby dowiedzieć się więcej na temat zachowywania źródłowego adresu IP klienta, zobacz Jak działa zachowywanie źródłowego adresu IP klienta dla usług LoadBalancer w usłudze AKS.
Azure Kubernetes Service