Sdílet prostřednictvím


Ovladače sítě kontejnerů Windows

Platí pro: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016

Kromě využití výchozí sítě nat vytvořené Dockerem ve Windows můžou uživatelé definovat vlastní sítě kontejnerů. Uživatelem definované sítě je možné vytvořit pomocí příkazu rozhraní příkazového řádku Dockeru docker network create -d <NETWORK DRIVER TYPE> <NAME>. Ve Windows jsou k dispozici následující typy síťových ovladačů:

Síťový ovladač NAT

Kontejnery připojené k síti vytvořené pomocí ovladače 'nat' budou připojeny k přepínači interního Hyper-V a přijmou IP adresu z předpony IP zadané uživatelem (--subnet). Podporuje se přesměrování portů nebo mapování z hostitele kontejneru na koncové body kontejneru.

Spropitné

Podsíť používanou výchozí sítí nat je možné přizpůsobit prostřednictvím nastavení fixed-cidr v konfiguračním souboru démona Dockeru .

Poznámka

Sítě NAT vytvořené ve Windows Serveru 2019 (nebo novějším) se po restartování už neuchovávají.

Vytvoření sítě NAT

Vytvořit novou síť NAT s podsítí 10.244.0.0/24:

docker network create -d "nat" --subnet "10.244.0.0/24" my_nat

Transparentní síťový ovladač

Kontejnery připojené k síti vytvořené pomocí transparentního ovladače budou přímo připojené k fyzické síti prostřednictvím externího přepínače Hyper-V. IP adresy z fyzické sítě je možné přiřadit staticky (vyžaduje uživatelem zadanou možnost --subnet) nebo dynamicky pomocí externího serveru DHCP.

Poznámka

Vzhledem k následujícímu požadavku se připojení hostitelů kontejnerů přes transparentní síť na virtuálních počítačích Azure nepodporuje.

Vyžaduje: Při použití tohoto režimu ve virtualizačním scénáři (hostitel kontejneru je virtuální počítač) je vyžadováno falšování MAC adresy.

Vytvoření transparentní sítě

Chcete-li vytvořit novou transparentní síť s podsítí 10.244.0.0/24, branou 10.244.0.1, serverem DNS 10.244.0.7 a VLAN ID 7:

docker network create -d "transparent" --subnet 10.244.0.0/24 --gateway 10.244.0.1 -o com.docker.network.windowsshim.vlanid=7 -o com.docker.network.windowsshim.dnsservers="10.244.0.7" my_transparent

Překryvný síťový ovladač

Kontejnery připojené k překryvné síti, které jsou často používány orchestrátory kontejnerů jako Docker Swarm a Kubernetes, mohou komunikovat s jinými kontejnery připojenými ke stejné síti napříč několika hostitelskými kontejnery. Každá překryvná síť se vytvoří s vlastní podsítí IP definovanou předponou privátní IP adresy. Překryvný síťový ovladač používá zapouzdření sítě VXLAN k zajištění izolace síťového provozu mezi sítěmi kontejnerů tenanta a umožňuje opakované použití IP adres napříč překryvovými sítěmi.

Vyžaduje: Ujistěte se, že vaše prostředí splňuje tyto požadované požadavky pro vytváření překryvných sítí.

Vyžaduje: Ve Windows Serveru 2019 to vyžaduje KB4489899.

Vyžaduje: Ve Windows Serveru 2016 to vyžaduje KB4015217.

Poznámka

Ve Windows Serveru 2019 a novějších využívají překryvné sítě Docker Swarm pravidla překladu adres (NAT) VFP pro odchozí konektivitu. To znamená, že daný kontejner přijímá 1 IP adresu. Také to znamená, že nástroje založené na protokolu ICMP, jako jsou ping nebo Test-NetConnection, by měly být nakonfigurované pomocí jejich možností TCP/UDP v situacích ladění.

Vytvoření překryvné sítě

Vytvoření nové překryvné sítě s podsítí 10.244.0.0/24, serverem DNS 168.63.129.16a 4096VSID:

docker network create -d "overlay" --attachable --subnet "10.244.0.0/24" -o com.docker.network.windowsshim.dnsservers="168.63.129.16" -o com.docker.network.driver.overlay.vxlanid_list="4096" my_overlay

Síťový ovladač L2bridge

Kontejnery připojené k síti vytvořené pomocí ovladače l2bridge budou připojeny k fyzické síti prostřednictvím externího přepínače Hyper-V. V l2bridge bude mít síťový provoz kontejneru stejnou adresu MAC jako hostitel kvůli operaci přepisování adres vrstvy 2 při příchozích a odchozích přenosech. V datacentrech to pomáhá zmírnit stres na přepínačích, které se musí naučit adresy MAC některých krátkodobých kontejnerů. Sítě L2bridge je možné konfigurovat 2 různými způsoby:

  1. Síť L2bridge je nakonfigurovaná se stejnou podsítí IP jako hostitel kontejneru.
  2. Síť L2bridge je nakonfigurovaná s novou vlastní podsítí PROTOKOLU IP.

V konfiguraci 2 uživatelé budou muset přidat koncový bod do síťového prostoru hostitele, který funguje jako brána a nakonfigurovat možnosti směrování pro určenou předponu.

Vytvoření sítě l2bridge

Vytvoření nové sítě l2bridge s podsítí 10.244.0.0/24, bránou 10.244.0.1, serverem DNS 10.244.0.7 a ID sítě VLAN 7:

docker network create -d "l2bridge" --subnet 10.244.0.0/24 --gateway 10.244.0.1 -o com.docker.network.windowsshim.vlanid=7 -o com.docker.network.windowsshim.dnsservers="10.244.0.7" my_l2bridge

Spropitné

Sítě L2bridge jsou vysoce programovatelné; Další podrobnosti o konfiguraci l2bridge najdete zde.

Síťový ovladač L2tunnel

Vytvoření je stejné jako l2bridge, ale tento ovladač by měl být použit pouze vMicrosoft Cloud Stack (Azure). Jediným rozdílem oproti l2bridge je, že se veškerý provoz kontejnerů odesílá na hostitele virtualizace, kde se aplikují zásady SDN, což umožňuje funkce, jako jsou skupiny zabezpečení sítě Azure pro kontejnery.

Topologie sítě a správa IP adres

Následující tabulka ukazuje, jak se poskytuje připojení k síti pro interní připojení (kontejner-kontejner) a externí připojení pro každý síťový ovladač.

Síťové režimy / ovladače Dockeru

Síťový ovladač Dockeru pro Windows Typické použití Kontejner-kontejner (jeden uzel) Připojení kontejneru k externímu (jeden uzel + více uzlů) Kontejner-kontejner (více uzlů)
překladu adres (výchozí) Vhodné pro vývojáře
  • Stejná podsíť: Mostové připojení přes virtuální přepínač Hyper-V
  • Křížová podsíť: Nepodporuje se (pouze jedna interní předpona NAT)
Směrováno přes vNIC pro správu (svázané s WinNAT) Nepodporuje se přímo: vyžaduje zveřejnění portů prostřednictvím hostitele.
průhledný Vhodné pro vývojáře nebo malá nasazení
  • Stejná podsíť: Přemostěné připojení přes virtuální přepínač Hyper-V
  • Křížová podsíť: Směrováno přes hostitele kontejneru
Směrováno přes hostitele kontejneru s přímým přístupem k (fyzickému) síťovému adaptéru Směrováno přes hostitele kontejneru s přímým přístupem k (fyzickému) síťovému adaptéru
překrytí Vhodné pro více uzlů; vyžaduje se pro Docker Swarm, který je k dispozici v Kubernetes.
  • Stejná podsíť: Přemostěné připojení přes virtuální přepínač Hyper-V
  • Mezi podsítě: Síťový provoz je zapouzdřený a směrovaný přes mgmt vNIC
Nepodporuje se přímo – vyžaduje druhý koncový bod kontejneru připojený k síti NAT v systému Windows Server 2016 nebo pravidlo překladu adres (VFP NAT) ve Windows Serveru 2019. Stejné nebo různé podsítě: Síťový provoz je zapouzdřen pomocí VXLAN a směrován přes Mgmt vNIC.
L2Bridge Používá se pro Kubernetes a SDN Microsoftu.
  • Stejná podsíť: Přemísťované připojení přes virtuální přepínač Hyper-V
  • Křížová podsíť: Adresa MAC kontejneru je přepsána na vstupu a výstupu a směrována
Adresa MAC kontejneru se znovu zapisuje při příchozím a výchozím přenosu dat.
  • Stejná podsíť: Přemostěné připojení
  • Mezi podsítí: směrování přes Mgmt vNIC ve WSv1809 a výše
L2Tunnel Pouze Azure Stejná nebo křížová podsíť: Připojeno k virtuálnímu přepínači fyzického hostitele Hyper-V, kde se aplikuje politika. Provoz musí projít bránou virtuální sítě Azure. Stejné nebo křížové podsítě: Připojené k virtuálnímu přepínači fyzického hostitele Hyper-V, kde se používá politika

Správa IP adres

IP adresy se přidělují a přiřazují různým síťovým ovladačům. Systém Windows používá službu HNS (Host Networking Service) k poskytování služby IPAM pro ovladač nat a pracuje s režimem Docker Swarm (interní KVS) k poskytování služby IPAM pro překrytí. Všechny ostatní síťové ovladače používají externí IPAM.

Síťový režim / ovladač Správa IP adres (IPAM)
NAT Dynamické přidělování IP adres a přiřazení službou HNS (Host Networking Service) z předpony interní podsítě NAT
Transparentní Přidělování a přiřazení IP adres statických nebo dynamických (pomocí externího serveru DHCP) z IP adres v rámci předpony sítě hostitele kontejneru
Překrytí Dynamické přidělování IP adres ze spravovaných předpon a přiřazení v režimu Docker Engine Swarm prostřednictvím HNS
L2Bridge Dynamické přidělování IP adres a přiřazení službou HNS (Host Networking Service) ze zadané předpony podsítě
L2Tunnel Pouze Azure – Dynamické přidělování IP adres a přiřazení z modulu plug-in

Zjišťování služeb

Zjišťování služeb je podporováno pouze u určitých síťových ovladačů Systému Windows.

Název ovladače Zjišťování místních služeb Globální zjišťování služeb
Nat ANO ANO s Dockerem EE
překrytí ANO ANO s Docker EE nebo kube-dns
transparentní NE NE
l2bridge ANO s kube-dns ANO s kube-dns