Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Korzystając z obsługi zasobników z wieloma interfejsami sieciowymi w Azure Kubernetes Service (AKS), można dołączyć jeden lub więcej dodatkowych interfejsów sieciowych do zasobników uruchomionych w klastrze wraz ze standardowym interfejsem podstawowym przypisanym przez interfejs CNI. Ta funkcja korzysta z Kubernetes Dynamic Resource Allocation (DRA) i zarządzanego sterownika sieciowego DRAnet, który automatycznie odnajduje i wprowadza pomocnicze karty sieciowe do podów w czasie wykonywania.
Important
Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługi i wymagają zapisania się. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów, świadczoną w miarę możliwości. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:
Overview
Domyślnie każdy zasobnik w klastrze usługi AKS otrzymuje jeden interfejs sieciowy (eth0) zarządzany przez wtyczkę Azure CNI. Chociaż ten interfejs jest wystarczający dla większości obciążeń, niektóre scenariusze wymagają, aby zasobniki miały wiele interfejsów sieciowych połączonych z różnymi podsieciami lub sieciami wirtualnymi.
Obsługa podów z wieloma kartami sieciowymi dotyczy tych scenariuszy, umożliwiając:
- Aprowizuj pule węzłów usługi AKS przy użyciu pomocniczych interfejsów sieciowych dołączonych do każdego węzła.
- Użyj sterownika AKS DRANET, aby automatycznie odnaleźć pomocnicze karty sieciowe w każdym węźle.
- Wstrzykiwanie tych interfejsów pomocniczych do podów w czasie planowania za pomocą żądań zasobów.
Important
Dodatkowe karty sieciowe z publicznymi adresami IP pomijają Azure Load Balancer i SNAT, dzięki czemu uwidaczniają obciążenia robocze bezpośrednio w Internecie. Usługa AKS nie zapewnia domyślnej warstwy ochrony dla tego ruchu. Należy skonfigurować i utrzymywać odpowiednie reguły sieciowej grupy zabezpieczeń i zapory, aby ograniczyć dostęp przychodzący i wychodzący.
Jak to działa
Obsługa zasobników z wieloma kartami sieciowymi w usłudze AKS opiera się na trzech kluczowych składnikach, które współpracują ze sobą:
1. Konfiguracja pomocniczych interfejsów sieciowych
Podczas tworzenia lub aktualizowania puli węzłów określ jeden lub więcej dodatkowych interfejsów sieciowych w profilu sieciowym puli węzłów. Usługa AKS aprowizuje węzły z dołączonymi dodatkowymi kartami sieciowymi, a każda karta sieciowa łączy się z wybraną podsiecią.
"networkProfile": {
"secondaryNetworkInterfaces": [
{
"type": "Standard",
"vnetSubnetId": "<subnet-resource-id>"
}
]
}
2. Dynamiczna alokacja zasobów (DRA)
Dynamiczna alokacja zasobów (DRA) to funkcja Kubernetes (ogólna dostępność w Kubernetes 1.34), która zapewnia strukturę do żądania i zarządzania dostępem do zasobów sprzętowych. W kontekście wielu kart sieciowych DRA zarządza cyklem życia wtórnych interfejsów sieciowych jako urządzeń, które można przydzielać.
Używane są następujące zasoby DRA:
- DeviceClass — definiuje klasę urządzeń (pomocniczych kart sieciowych), które publikuje sterownik DRAnet, z selektorami do filtrowania, które urządzenia spełniają kryteria.
- ResourceClaimTemplate — szablon, do którego odwołują się zasobniki w celu żądania określonej liczby kart sieciowych z danej klasy urządzenia.
3. Sterownik sieciowy DRAnet z obsługą zarządzania
Sterownik DRAnet network jest uruchamiany jako element DaemonSet w każdym węźle. Ono:
- Odnajduje wszystkie interfejsy sieciowe w węźle.
- Publikuje dostępne dodatkowe karty sieciowe jako zasoby urządzeń DRA.
- Obsługuje dołączanie i odłączanie kart sieciowych do i z przestrzeni nazw sieci zasobników podczas planowania zasobnika.
Kompletny przepływ od początku do końca
sequenceDiagram
participant User
participant AKS as AKS Control Plane
participant Node as AKS Node
participant DRAnet as DRAnet Driver
participant Scheduler as K8s Scheduler
participant Pod
User->>AKS: Create node pool with secondary NICs
AKS->>Node: Provision node with primary + secondary NICs
DRAnet->>Node: Discover available NICs
DRAnet->>Scheduler: Publish NIC devices via DRA
User->>Scheduler: Deploy pod with ResourceClaim
Scheduler->>DRAnet: Allocate NIC to pod
DRAnet->>Pod: Inject secondary NIC into pod namespace
Pod->>Pod: Pod runs with eth0 + secondary NIC(s)
Limitations
- Wersja platformy Kubernetes — wymaga platformy Kubernetes w wersji 1.34 lub nowszej (w przypadku obsługi ogólnie dostępnej wersji DRA).
- Zakres sieci wirtualnej — wszystkie pomocnicze karty sieciowe muszą łączyć się z tą samą siecią wirtualną co podstawowa karta sieciowa. Można je dołączyć do różnych podsieci w tej sieci wirtualnej.
- Przypisanie karty sieciowej — każda pomocnicza karta sieciowa może być przypisana tylko do jednego podu. Nie można współdzielić pomocniczej karty sieciowej między wieloma zasobnikami.
- Rozwiązanie DRANET obsługuje tylko pule węzłów systemu Linux. Nie są obsługiwane grupy węzłów Windows.
- Zasady sieci są wymuszane tylko na podstawowej karcie sieciowej. Ruch przepływujący przez dodatkowe interfejsy sieciowe (NIC) pomija wymuszanie zasad sieciowych usługi AKS.
-
Rozmiar maszyny wirtualnej — rozmiar maszyny wirtualnej puli węzłów musi obsługiwać łączną liczbę interfejsów sieciowych (podstawowy i pomocniczy). Aby sprawdzić maksymalną liczbę obsługiwanych interfejsów sieciowych i możliwości usługi Accelerated Networking, zobacz dokumentację rozmiaru maszyny wirtualnej platformy Azure lub użyj polecenia
az vm list-skus. Oto przykład:
az vm list-skus \
--location eastus \
--resource-type virtualMachines \
--all \
--query "[?name=='Standard_D8s_v5'].{
SKU:name,
MaxNICs:capabilities[?name=='MaxNetworkInterfaces']|[0].value,
AcceleratedNetworking:capabilities[?name=='AcceleratedNetworkingEnabled']|[0].value
}" \
-o table