Udostępnij za pośrednictwem


Pojęcia dotyczące sieci dla aplikacji w usłudze Azure Kubernetes Service (AKS)

W przypadku opartego na kontenerach podejścia mikrousług do tworzenia aplikacji składniki aplikacji współpracują ze sobą w celu przetwarzania zadań. Platforma Kubernetes udostępnia różne zasoby umożliwiające współpracę:

  • Możesz łączyć się z aplikacjami i uwidaczniać je wewnętrznie lub zewnętrznie.
  • Aplikacje o wysokiej dostępności można tworzyć, równoważąc obciążenie aplikacji.
  • Możesz ograniczyć przepływ ruchu sieciowego do zasobników i węzłów lub między nimi, aby zwiększyć bezpieczeństwo.
  • Można skonfigurować ruch przychodzący Ingress do terminacji SSL/TLS lub routingu wielu składników dla bardziej złożonych aplikacji.

W tym artykule przedstawiono podstawowe pojęcia, które zapewniają sieciowanie aplikacjom na platformie AKS.

Podstawy sieci platformy Kubernetes

Platforma Kubernetes wykorzystuje warstwę sieci wirtualnej do zarządzania dostępem w aplikacjach i między aplikacjami lub ich składnikami:

  • Węzły kubernetes i sieć wirtualna: węzły Kubernetes są połączone z siecią wirtualną. Ta konfiguracja umożliwia zasobnikom (podstawowym jednostkom wdrażania na platformie Kubernetes) łączność przychodzącą i wychodzącą.

  • Składnik kube-proxy: kube-proxy działa na każdym węźle i jest odpowiedzialne za zapewnienie niezbędnych funkcji sieciowych.

Dotyczy określonych funkcji platformy Kubernetes:

  • Moduł równoważenia obciążenia: moduł równoważenia obciążenia umożliwia równomierne dystrybuowanie ruchu sieciowego między różnymi zasobami.
  • Kontrolery ingresowe: Ułatwiają one routing na poziomie warstwy 7, co jest niezbędne do kierowania ruchem aplikacji.
  • Kontrola ruchu wychodzącego: platforma Kubernetes umożliwia zarządzanie ruchem wychodzącym z węzłów klastra i sterowanie nim.
  • Zasady sieciowe: te zasady umożliwiają środki zabezpieczeń i filtrowanie ruchu sieciowego w zasobnikach.

W kontekście platformy Azure:

  • Platforma Azure usprawnia sieć wirtualną dla klastrów usługi AKS (Azure Kubernetes Service).
  • Tworzenie modułu równoważenia obciążenia Kubernetes na platformie Azure jednocześnie konfiguruje odpowiedni zasób modułu równoważenia obciążenia platformy Azure.
  • Podczas otwierania portów sieciowych dla zasobników platforma Azure automatycznie konfiguruje niezbędne reguły grupy zabezpieczeń sieciowych.
  • Platforma Azure może również zarządzać zewnętrznymi konfiguracjami DNS na potrzeby routingu aplikacji HTTP w miarę ustanawiania nowych tras ruchu przychodzącego.

Sieci wirtualne platformy Azure

W usłudze AKS można wdrożyć klaster, który używa jednego z następujących modeli sieciowych:

  • Model sieci nakładki: Sieć nakładki jest najczęściej używanym modelem sieciowym w Kubernetes. Zasobniki otrzymują adres IP z prywatnej, logicznie oddzielnej przestrzeni adresowej CIDR z podsieci wirtualnej sieci platformy Azure, na której są wdrażane węzły usługi AKS. Ten model zapewnia prostszą, lepszą skalowalność w porównaniu z modelem sieci płaskiej.
  • Model sieci płaskiej: model sieci płaskiej w usłudze AKS przypisuje adresy IP do zasobników z podsieci z tej samej sieci wirtualnej platformy Azure co węzły usługi AKS. Ruch wychodzący z Twoich klastrów nie jest poddawany SNAT, a adres IP poda jest bezpośrednio ujawniony dla miejsca docelowego. Ten model może być przydatny w scenariuszach, takich jak uwidacznianie adresów IP podów w usługach zewnętrznych.

Aby uzyskać więcej informacji na temat modeli sieciowych w usłudze AKS, zobacz CNI Networking in AKS (Sieci CNI w usłudze AKS).

Kontrolowanie ruchu wyjściowego

Klastry AKS są wdrażane w sieci wirtualnej i mają zależności wychodzące od usług spoza tej sieci wirtualnej, które są prawie całkowicie zdefiniowane z w pełni kwalifikowanymi nazwami domen (FQDN). Usługa AKS udostępnia kilka opcji konfiguracji ruchu wychodzącego, które umożliwiają dostosowanie sposobu uzyskiwania dostępu do tych zasobów zewnętrznych.

Aby uzyskać więcej informacji na temat obsługiwanych typów konfiguracji wychodzących klastra usługi AKS, zobacz Dostosowywanie ruchu wychodzącego klastra przy użyciu typów wychodzących w usłudze Azure Kubernetes Service (AKS).

Domyślnie klastry AKS mają nieograniczony wychodzący dostęp do Internetu, co pozwala węzłom i usługom uzyskać dostęp do zasobów zewnętrznych zgodnie z potrzebami. W razie potrzeby można ograniczyć ruch wychodzący.

Aby uzyskać więcej informacji na temat ograniczania ruchu wychodzącego z klastra, zobacz Kontrolowanie ruchu wychodzącego dla węzłów klastra w usłudze AKS.

Sieciowe grupy zabezpieczeń

Sieciowa grupa zabezpieczeń filtruje ruch dla maszyn wirtualnych, takich jak węzły usługi AKS. Podczas tworzenia usług, takich jak LoadBalancer, platforma Azure automatycznie konfiguruje wszelkie niezbędne reguły sieciowej grupy zabezpieczeń.

Nie trzeba ręcznie konfigurować reguł grupy zabezpieczeń sieci do filtrowania ruchu dla podów w klastrze AKS. W ramach manifestów usługi Kubernetes Service można zdefiniować wymagane porty i przekazywanie oraz umożliwić platformie Azure tworzenie lub aktualizowanie odpowiednich reguł.

Możesz także używać zasad sieciowych do automatycznego stosowania reguł filtrowania ruchu do podów.

Aby uzyskać więcej informacji, zobacz Jak sieciowe grupy zabezpieczeń filtrować ruch sieciowy.

Zasady sieciowe

Domyślnie wszystkie zasobniki w klastrze AKS mogą wysyłać i odbierać ruch bez ograniczeń. Aby zwiększyć bezpieczeństwo, zdefiniuj reguły kontrolujące przepływ ruchu, na przykład:

  • Aplikacje backendowe są widoczne tylko dla wymaganych usług frontendowych.
  • Składniki bazy danych są dostępne tylko dla warstw aplikacji, które się z nimi łączą.

Zasady sieciowe to funkcja platformy Kubernetes dostępna w usłudze AKS, która umożliwia kontrolowanie przepływu ruchu między podami. Możesz zezwolić na ruch do poda lub go zablokować na podstawie takich ustawień jak przypisane etykiety, przestrzeń nazw lub port ruchu. Chociaż sieciowe grupy zabezpieczeń są lepsze dla węzłów usługi AKS, zasady sieciowe są bardziej odpowiednie, natywnym dla chmury sposobem kontrolowania przepływu ruchu dla zasobników. Ponieważ zasobniki są tworzone dynamicznie w klastrze usługi AKS, wymagane zasady sieciowe można zastosować automatycznie.

Aby uzyskać więcej informacji, zobacz Zabezpieczanie ruchu między zasobnikami przy użyciu zasad sieciowych w usłudze Azure Kubernetes Service (AKS).

Następne kroki

Aby rozpocząć pracę z sieciami usługi AKS, utwórz i skonfiguruj klaster usługi AKS z własnymi zakresami adresów IP, używając nakładki Azure CNI lub Azure CNI.

Aby uzyskać informacje o skojarzonych najlepszych rozwiązaniach, zobacz Najlepsze rozwiązania dotyczące łączności sieciowej i zabezpieczeń w usłudze AKS.

Aby uzyskać więcej informacji na temat podstawowych pojęć związanych z platformą Kubernetes i usługą AKS, zobacz następujące artykuły: