Pojęcia dotyczące sieci dla kontenerów systemu Windows
Procesor w standardowym komputerze z systemem Windows ma tryb jądra i tryb użytkownika. Podstawowe składniki systemu operacyjnego i większość sterowników urządzeń działa w trybie jądra, a aplikacje działają w trybie użytkownika. Podczas implementowania kontenerów na komputerze każdy kontener tworzy izolowane, lekkie środowisko do uruchamiania aplikacji w systemie operacyjnym hosta. Kontener udostępnia większość jądra systemu operacyjnego hosta w celu uzyskania dostępu do systemu plików i rejestru.
Kontenery systemu Windows wymagają systemu operacyjnego kontenera. Kontener zależy od jądra systemu operacyjnego do zarządzania usługami, takimi jak system plików, sieć, planowanie procesów i zarządzanie pamięcią. System operacyjny kontenera to system operacyjny, który jest częścią spakowanego środowiska uruchomieniowego. Możesz użyć różnych wersji systemu Windows z kontenerami, aby umożliwić dostęp do określonych funkcji systemu operacyjnego lub innego wymaganego oprogramowania.
Izolacja sieciowa i zabezpieczenia
Kontenery systemu Windows obsługują dwa typy izolacji środowiska uruchomieniowego: Proces i Funkcja Hyper-V. Podstawową różnicą jest zakres izolacji utworzony między kontenerem, systemem operacyjnym hosta i innymi kontenerami na hoście.
Izolacja procesów jest najczęstszym podejściem. Wiele wystąpień kontenerów uruchomionych na tym samym hoście uzyskuje izolację za pośrednictwem ustawień przestrzeni nazw i kontroli zasobów oraz innych funkcji izolacji procesów.
- Każdy kontener współużytkuje to samo jądro z systemem operacyjnym hosta i innymi kontenerami na hoście.
- Każdy kontener ma wirtualną kartę sieciową, która łączy się z przełącznikiem wirtualnym.
- Każdy punkt końcowy kontenera jest umieszczany we własnej przestrzeni nazw sieci. Domyślna przestrzeń nazw sieci to lokalizacja wirtualnej karty sieciowej hosta i stosu sieciowego hosta.
Izolacja funkcji Hyper-V zapewnia zwiększone zabezpieczenia i szerszą zgodność między hostem a kontenerami. Na tym samym hoście działa wiele wystąpień kontenerów, ale każdy kontener działa na zoptymalizowanej maszynie wirtualnej. Maszyna wirtualna zapewnia izolację na poziomie sprzętu między każdym kontenerem a hostem kontenera.
- Każdy kontener ma zasadniczo własne jądro.
- Aby wymusić izolację sieci między kontenerami na hoście, dla każdego kontenera jest tworzona przestrzeń nazw sieci.
- Kontenery działają w ramach izolacji funkcji Hyper-V, do której zainstalowano wirtualną kartę sieciową dla kontenera. Kontenery systemu Windows Server używają wirtualnej karty sieciowej hosta do dołączania do przełącznika wirtualnego. Izolacja funkcji Hyper-V używa syntetycznej karty sieciowej maszyny wirtualnej (nie uwidocznionej dla maszyny wirtualnej narzędzia) w celu dołączenia do przełącznika wirtualnego.
Zarządzanie siecią za pomocą usługi sieci hosta (HNS)
System Windows używa usługi sieci hosta (HNS) i usługi obliczeniowej hosta (HCS) do tworzenia kontenerów i dołączania punktów końcowych do sieci.
- Sieć: usługa HNS tworzy przełącznik wirtualny funkcji Hyper-V dla każdej sieci, a usługa HNS tworzy wymagane translatory adresów sieciowych i pul adresów IP.
- Punkty końcowe: usługa HNS tworzy przestrzeń nazw sieci dla każdego punktu końcowego kontenera, a usługa HNS/HCS dodaje wirtualną kartę sieciową do przestrzeni nazw. Usługa HNS tworzy porty przełącznika wirtualnego. Usługa HNS przypisuje adres IP, informacje o systemie nazw domen (DNS), trasy itd. do punktu końcowego zgodnie ze skonfigurowanym trybem sterownika sieciowego.
- Zasady: W przypadku domyślnej sieci TRANSLATOR adresów sieciowych usługa HNS tworzy reguły przekazywania portów WinNAT i mapowania z odpowiednimi regułami ZEZWALAnia na zaporę systemu Windows. W przypadku wszystkich innych sieci usługa HNS używa wirtualnej platformy filtrowania (VFP) do tworzenia zasad równoważenia obciążenia, list ACL i hermetyzacji.
Interakcja z zaporą
W zależności od konfiguracji kontenera i typu sterownika sieciowego listy ACL portów są wymuszane przez kombinację zapory systemu Windows i platformy filtrowania wirtualnego platformy Azure (VFP). Poniższe wartości używają zapory hostów systemu Windows (z obsługą przestrzeni nazw sieci) i programu VFP:
- Domyślny ruch wychodzący: ZEZWALAJ NA WSZYSTKO.
- Domyślny ruch przychodzący: ZEZWALAJ NA WSZYSTKIE (TCP, UDP, ICMP, IGMP) niepożądany ruch sieciowy. ODMÓW WSZYSTKICH innych ruchów sieciowych nie z tych protokołów.
Sterowniki sieciowe
System Windows obsługuje pięć różnych sterowników sieciowych lub trybów dla kontenerów platformy Docker: NAT, Transparent, Overlay, L2Bridge i L2Tunnel. Oprócz domyślnej sieci translatora adresów sieciowych utworzonych przez platformę Docker w systemie Windows można również zdefiniować niestandardowe sieci kontenerów przy użyciu polecenia z docker network create
poziomu interfejsu wiersza polecenia platformy Docker.
Poniższa tabela zawiera podsumowanie typów sterowników sieci dostępnych dla kontenerów platformy Docker w systemie Windows. Wybierz sterownik sieciowy spełniający wymagania konfiguracji infrastruktury sieci fizycznej i hosta (jednego lub wielu węzłów).
Sterownik sieciowy | Typowe zastosowania | Kontener-kontener (pojedynczy węzeł) | Kontener-zewnętrzny (pojedynczy węzeł + wiele węzłów) | Kontener-kontener (wiele węzłów) |
---|---|---|---|---|
Translator adresów sieciowych (ustawienie domyślne) | Dobre dla deweloperów | Ta sama podsieć: połączenie mostkowane za pośrednictwem przełącznika wirtualnego funkcji Hyper-V Podsieć krzyżowa: nieobsługiwane (tylko jeden wewnętrzny prefiks translatora adresów sieciowych) |
Kierowana przez wirtualną kartę sieciową zarządzania (powiązana z winNAT) | Nieobsługiwane bezpośrednio: wymaga ujawnienia portów za pośrednictwem hosta |
Przezroczyste | Dobre dla deweloperów lub małych wdrożeń | Ta sama podsieć: połączenie mostkowane za pośrednictwem przełącznika wirtualnego funkcji Hyper-V Podsieć krzyżowa: kierowana przez hosta kontenera. |
Kierowany przez hosta kontenera z bezpośrednim dostępem do karty sieciowej (fizycznej) | Kierowany przez hosta kontenera z bezpośrednim dostępem do karty sieciowej (fizycznej) |
Nakładki | Dobre dla wielu węzłów; wymagane dla platformy Docker Swarm dostępnej w rozwiązaniu Kubernetes | Ta sama podsieć: połączenie mostkowane za pośrednictwem przełącznika wirtualnego funkcji Hyper-V Między podsieciami: ruch sieciowy jest hermetyzowany i kierowany przez wirtualną kartę sieciową zarządzania. |
Nieobsługiwane bezpośrednio — wymaga drugiego punktu końcowego kontenera dołączonego do sieci translatora adresów sieciowych w systemie Windows Server 2016 lub reguły NAT programu VFP w systemie Windows Server 2019. | Ta sama/krzyżowa podsieć: ruch sieciowy jest hermetyzowany przy użyciu sieci VXLAN i kierowany przez wirtualną kartę sieciową zarządzania |
L2Bridge | Używane w przypadku rozwiązań Kubernetes i Microsoft Software Designed Network (SDN) | Ta sama podsieć: połączenie mostkowane za pośrednictwem przełącznika wirtualnego funkcji Hyper-V Między podsieciami: adres MAC kontenera został przepisany na ruch przychodzący i wychodzący oraz kierowany. |
Adres MAC kontenera | |
przepisany przy ruchu przychodzącym i wychodzącym | Ta sama podsieć: połączenie mostkowane Podsieć krzyżowa: kierowana przez wirtualną kartę sieciową zarządzania w programie WSv1809 lub nowszym |
|||
L2Tunnel | Tylko platforma Azure | Ta sama/krzyżowa podsieć: przypięta do przełącznika wirtualnego funkcji Hyper-V hosta fizycznego, do którego są stosowane zasady. | Ruch musi przechodzić przez bramę sieci wirtualnej platformy Azure | Ta sama/krzyżowa podsieć: przypięta do przełącznika wirtualnego funkcji Hyper-V hosta fizycznego do miejsca zastosowania zasad |
Zaawansowane opcje sieci
Możesz skorzystać z kilku opcji sterowników sieciowych dla funkcji i funkcji specyficznych dla systemu Windows. Oto kilka przykładów:
- Uzyskaj dostęp do osadzonego tworzenia zespołu przełącznika dla sieci hostów kontenerów, określając wiele kart sieciowych dla kontenera systemu Windows.
- Ustaw identyfikator sieci VLAN dla sieci, aby skonfigurować izolację sieci VLAN dla wszystkich punktów końcowych kontenera dołączonych do sieci.
- Określ zasady OutboundNAT dla sieci, aby umożliwić kontenerowi dostęp do świata zewnętrznego.
Aby uzyskać więcej informacji, zobacz Zaawansowane opcje sieci w systemie Windows.