Udostępnij za pośrednictwem


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.

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

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.