Udostępnij przez


Ingress w usłudze Azure Kubernetes Service (AKS)

"Zasób Ingress w AKS to element Platformy Kubernetes, który zarządza zewnętrznym dostępem HTTP do usług w klastrze." Ingrs AKS może zapewniać usługi, takie jak równoważenie obciążenia, zakończenie SSL i hosting wirtualny oparty na nazwach. Aby uzyskać więcej informacji na temat Kubernetes Ingress, zobacz dokumentację Kubernetes Ingress.

Kontrolery ruchu przychodzącego

Podczas zarządzania ruchem aplikacji, kontrolery Ingress 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.

Diagram przedstawiający przepływ ruchu przychodzącego w klastrze AKS

Porównanie opcji dostępu

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 Azure i Istio
Ruch przychodzący/kontroler bramy NGINX Ingress Controller Azure Brama Aplikacji dla Kontenerów Brama wejściowa Istio
API API Ingress Interfejs API ruchu przychodzącego i interfejs API bramy Ingress API 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 serwera i end-to-end SSL W klastrze
mTLS Nie dotyczy Tak: fronton i zaplecze Nie dotyczy
Statyczny adres IP Nie dotyczy FQDN (Pełna nazwa domeny) 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 wejściowa Kiedy używać
Zarządzany serwer NGINX — dodatek routingu aplikacji • Hostowane w klastrze, dostosowywalne i skalowalne kontrolery NGINX Ingress.
• 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 Ingress.
Bramka aplikacji dla kontenerów • Brama ruchu przychodzącego hostowana na platformie Azure.
• Elastyczne strategie wdrażania zarządzane przez kontroler lub użyj własnej usługi Application Gateway for Containers.
• Zaawansowane funkcje zarządzania ruchem, takie jak automatyczne ponawianie prób, odporność na awarie strefy dostępności, wzajemne uwierzytelnianie (mTLS) dla celów zaplecza, dzielenie ruchu / ważone okrężne rozdzielanie 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 Ingress i Gateway.
Gateway Ingress Istio • Na podstawie Envoy, przy korzystaniu z Istio dla siatki usług.
• Zaawansowane funkcje zarządzania ruchem, takie jak ograniczanie szybkości i przerywanie obwodów.
• Obsługa mTLS

Uwaga

Interfejs Gateway API dla ruchu przychodzącego Istio nie jest jeszcze obsługiwany w przypadku dodatku Istio, ale jest obecnie aktywnie rozwijany.

Utwórz zasób Ingress

Dodatek do routingu aplikacji jest zalecanym sposobem konfigurowania kontrolera Ingress 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 Ingress NGINX bazujących na kontrolerze Ingress NGINX dla Kubernetes.

  • Integracja z usługą Azure DNS na potrzeby zarządzania strefami publicznymi i prywatnymi.

  • Zakończenie połączenia SSL z certyfikatami przechowywanymi w Azure Key Vault.

Aby uzyskać więcej informacji na temat dodatku routingu aplikacji, zobacz Zarządzane wejście NGINX z dodatkiem routingu aplikacji.

Zachowywanie źródłowego adresu IP klienta

Skonfiguruj kontroler wejściowy, aby zachować źródłowy adres IP klienta w żądaniach do kontenerów w klastrze 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 opcji zachowania źródłowego adresu IP klienta, adres IP klienta jest dostępny w nagłówku żądania pod X-Forwarded-For.

Jeśli używasz zachowania źródłowego adresu IP klienta na kontrolerze ingress, nie możesz użyć przekazywania ruchu 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.