Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: usługa AKS w systemie Windows Server
Składniki aplikacji muszą współpracować, aby przetwarzać swoje zadania w podejściu mikrousług opartym na kontenerach. Platforma Kubernetes udostępnia zasoby, które umożliwiają komunikację aplikacji i umożliwiają łączenie się z aplikacjami i uwidacznianie ich wewnętrznie lub zewnętrznie. Możesz równoważyć obciążenie aplikacji w celu tworzenia aplikacji o wysokiej dostępności.
Bardziej złożone aplikacje mogą wymagać konfiguracji ruchu przychodzącego na potrzeby kończenia żądań SSL/TLS lub routingu wielu składników. Może być również konieczne ograniczenie przepływu ruchu sieciowego do lub pomiędzy zasobnikami i węzłami dla bezpieczeństwa.
W tym artykule przedstawiono podstawowe pojęcia, które zapewniają sieć aplikacjom w usłudze AKS w systemie Windows Server:
- Usługi Kubernetes
- Kontroler ruchu przychodzącego
- Zasady sieciowe
Usługi Kubernetes
Aby uprościć konfigurację sieci dla obciążeń aplikacji, platforma Kubernetes używa usług do logicznego grupowania zestawu zasobników i zapewnienia łączności sieciowej. Dostępne są następujące typy usług:
Adres IP klastra: tworzy wewnętrzny adres IP do użycia w klastrze Kubernetes. Użyj adresu IP klastra dla aplikacji tylko wewnętrznych, które obsługują inne obciążenia w klastrze.
NodePort: tworzy mapowanie portów w bazowym węźle, który umożliwia aplikacji bezpośredni dostęp do adresu IP węzła i portu.
LoadBalancer: tworzy zasób modułu równoważenia obciążenia platformy Azure, konfiguruje zewnętrzny adres IP i łączy żądane zasobniki z pulą zaplecza modułu równoważenia obciążenia. Aby zezwolić klientom na dostęp do aplikacji, reguły równoważenia obciążenia są tworzone na żądanych portach.
W przypadku innej kontroli i routingu ruchu przychodzącego można użyć kontrolera ruchu przychodzącego.
Uwaga
Podczas wdrażania klastra docelowego, który dzieli sieć z innym klastrem docelowym, istnieje możliwość konfliktu adresów IP równoważnika obciążenia.
Może się tak zdarzyć, jeśli wdrożysz dwa obciążenia korzystające z różnych portów w klastrach docelowych współużytkujących ten sam AksHciClusterNetwork obiekt. Ze względu na sposób przydzielania adresów IP i mapowań portów wewnątrz HA Proxy, może to prowadzić do zduplikowanego przypisania adresu IP. W takim przypadku jedno lub oba obciążenia mogą napotkać losowe problemy z łącznością sieciową do czasu ponownego wdrożenia obciążeń. Podczas ponownego wdrażania obciążeń można użyć tego samego portu, który powoduje, że każde obciążenie odbiera oddzielny adres IP usługi, lub można ponownie wdrożyć obciążenia w klastrach docelowych, które używają różnych AksHciClusterNetwork obiektów.
ExternalName: tworzy określony wpis DNS, aby ułatwić dostęp do aplikacji. Adresy IP modułów równoważenia obciążenia i usług mogą być adresami wewnętrznymi lub zewnętrznymi w zależności od ogólnej konfiguracji sieci i mogą być przypisywane dynamicznie. Możesz też określić istniejący statyczny adres IP do użycia. Istniejący statyczny adres IP jest często powiązany z wpisem DNS. Wewnętrzne moduły równoważenia obciążenia mają przypisany tylko prywatny adres IP, więc nie można uzyskać do nich dostępu z Internetu.
Podstawy sieci platformy Kubernetes
Aby umożliwić dostęp do aplikacji lub składnikom aplikacji komunikowanie się ze sobą, platforma Kubernetes zapewnia warstwę abstrakcji sieci wirtualnej. Węzły Kubernetes są połączone z siecią wirtualną i mogą zapewnić łączność przychodzącą i wychodzącą dla zasobników. Składnik kube-proxy uruchomiony w każdym węźle udostępnia te funkcje sieciowe.
W Kubernetes usługi logicznie grupują pody, aby umożliwić:
- Bezpośredni dostęp za pośrednictwem pojedynczego adresu IP lub nazwy DNS i określonego portu.
- Dystrybuuj ruch przy użyciu load balancer między wieloma podami, które hostują tę samą usługę lub aplikację.
Podczas tworzenia klastra usługi AKS tworzymy i konfigurujemy bazowy zasób modułu równoważenia obciążenia. Podczas wdrażania aplikacji w klastrze Kubernetes, adresy IP są konfigurowane dla podów i usług Kubernetes jako punkty końcowe w tym równoważniku obciążenia.
Zasoby adresów IP
Aby uprościć konfigurację sieci dla obciążeń aplikacji, usługa AKS Arc przypisuje adresy IP do następujących obiektów we wdrożeniu:
- Serwer interfejsu API klastra Kubernetes: serwer interfejsu API jest składnikiem płaszczyzny sterowania platformy Kubernetes, która uwidacznia interfejs API platformy Kubernetes. Serwer interfejsu API to fronton płaszczyzny sterowania platformy Kubernetes. Statyczne adresy IP są zawsze przydzielane do serwerów interfejsu API niezależnie od bazowego modelu sieci.
- Węzły Kubernetes (maszyny wirtualne):klaster Kubernetes składa się z zestawu maszyn roboczych, nazywanych węzłami, a węzły hostuje konteneryzowane aplikacje. Oprócz węzłów płaszczyzny sterowania każdy klaster ma co najmniej jeden węzeł roboczy. W przypadku klastra usługi AKS węzły Kubernetes są konfigurowane jako maszyny wirtualne. Te maszyny wirtualne są tworzone jako maszyny wirtualne o wysokiej dostępności. Aby uzyskać więcej informacji, zobacz Pojęcia dotyczące sieci węzłów.
- Usługi Kubernetes: w Kubernetes Usługi logicznie grupują adresy IP podów, aby umożliwić bezpośredni dostęp za pośrednictwem jednego adresu IP lub nazwy DNS na określonym porcie. Usługi mogą również dystrybuować ruch przy użyciu modułu równoważenia obciążenia. Statyczne adresy IP są zawsze przydzielane do usług Kubernetes niezależnie od bazowego modelu sieci.
- Równoważniki obciążenia HAProxy: HAProxy to równoważnik obciążenia TCP/HTTP i serwer proxy, który rozkłada żądania przychodzące na wiele punktów końcowych. Każdy klaster obciążeń we wdrożeniu usługi AKS w systemie Windows Server ma wdrożony i skonfigurowany jako wyspecjalizowana maszyna wirtualna moduł równoważenia obciążenia haProxy.
- Lokalna usługa w chmurze firmy Microsoft: jest to dostawca usług w chmurze, który umożliwia tworzenie i zarządzanie zwirtualizowanym środowiskiem hostujących platformę Kubernetes w lokalnym klastrze systemu Windows Server. Model sieciowy używany przez klaster Windows Server określa metodę alokacji adresów IP stosowaną przez usługę chmury lokalnej firmy Microsoft. Aby dowiedzieć się więcej na temat pojęć związanych z siecią wdrożonych przez lokalną usługę w chmurze firmy Microsoft, zobacz Pojęcia dotyczące sieci węzłów.
Sieci Kubernetes
W usłudze AKS w systemie Windows Server można wdrożyć klaster, który korzysta z jednego z następujących modeli sieciowych:
- Sieć Flannel Overlay — zasoby sieciowe są zazwyczaj tworzone i konfigurowane w trakcie wdrażania klastra.
- Sieć w programie Project Calico — ten model oferuje dodatkowe funkcje sieciowe, takie jak zasady sieci i sterowanie przepływem.
Obie implementacje sieci używają modelu konfiguracji sieci nakładek, który zapewnia przypisanie adresu IP, będące niezależne od reszty sieci centrum danych.
Aby dowiedzieć się więcej na temat sieci nakładkowej, zobacz artykuł Wprowadzenie do sieci nakładek Kubernetes dla systemu Windows.
Aby uzyskać więcej informacji na temat wtyczki Calico Network i jej zasad, zapoznaj się z wprowadzeniem do zasad sieci Calico.
Porównywanie modeli sieciowych
Flanela
Uwaga
Flannel CNI został wycofany w grudniu 2023 roku.
Flannel to warstwa sieci wirtualnej przeznaczona specjalnie dla kontenerów. Flannel tworzy płaską sieć, która nakłada się na sieć hosta. Wszystkie kontenery/pody mają przypisany jeden adres IP w tej sieci nakładkowej i komunikują się bezpośrednio, poprzez połączenie do adresów IP innych.
Kaliko
Calico to rozwiązanie sieci typu open source i zabezpieczeń sieci dla kontenerów, maszyn wirtualnych i natywnych obciążeń opartych na hoście. Calico obsługuje wiele płaszczyzn danych, w tym: płaszczyznę danych eBPF systemu Linux, płaszczyznę danych sieci systemu Linux i płaszczyznę danych HNS systemu Windows.
Możliwości
| Zdolność | Flanela | Kaliko |
|---|---|---|
| Zasady sieciowe | Nie. | Tak |
| Protokół IPv6 | Nie. | Tak |
| Używane warstwy | L2 (VxLAN) | L2 (VxLAN) |
| Wdrażanie klastra w istniejącej lub nowej sieci wirtualnej | Tak | Tak |
| Obsługa systemu Windows | Tak | Tak |
| Połączenie Pod-Pod | Tak | Tak |
| Połączenie Pod-VM, maszyna wirtualna w tej samej sieci | Nie. | Tak |
| Połączenie Pod-VM, maszyna wirtualna w innej sieci | Tak | Tak |
| Usługi Kubernetes | Tak | Tak |
| Eksponuj za pośrednictwem równoważenia obciążenia | Tak | Tak |
| Sieci | Wiele sieci w tym samym klastrze z wieloma demonami | Wiele sieci w tym samym klastrze |
| Wdrożenie | Linux: DaemonSet | Linux: DaemonSet |
| Windows: usługa | Windows: usługa | |
| Wiersz polecenia | Brak | calicoctl |
Ważne
Obecnie domyślnym wyborem jest użycie Calico w trybie sieci nakładkowej. Aby włączyć usługę Flannel, użyj -primaryNetworkPlugin parametru New-AksHciCluster polecenia programu PowerShell i określ flannel jako wartość. Tej wartości nie można zmienić po wdrożeniu klastra i dotyczy zarówno węzłów klastra systemu Windows, jak i Linux.
Na przykład:
New-AksHciCluster -name MyCluster -primaryNetworkPlugin 'flannel'
Następne kroki
W tym artykule opisano pojęcia dotyczące sieci dla kontenerów w węzłach usługi AKS w systemie Windows Server. Aby uzyskać więcej informacji o pojęciach dotyczących usługi AKS w systemie Windows Server, zobacz następujące artykuły: