Windows kapsayıcı ağ sürücüleri

Şunlar için geçerlidir: Windows Server 2025, Windows Server 2022, Windows Server 2019, Windows Server 2016

Kullanıcılar, Windows üzerinde Docker tarafından oluşturulan varsayılan 'nat' ağından yararlanmaya ek olarak özel kapsayıcı ağları tanımlayabilir. Kullanıcı tanımlı ağlar Docker CLI docker network create -d <NETWORK DRIVER TYPE> <NAME> komutu kullanılarak oluşturulabilir. Windows'da aşağıdaki ağ sürücüsü türleri kullanılabilir:

NAT ağ sürücüsü

'nat' sürücüsüyle oluşturulmuş bir ağa bağlanmış kapsayıcılar, bir Hyper-V anahtarına bağlanır ve kullanıcı tarafından belirtilen (--subnet) IP ön ekinden bir IP adresi alır. Kapsayıcı ana bilgisayarından kapsayıcı uç noktalarına port yönlendirme/haritalama desteklenir.

Bahşiş

Varsayılan 'nat' ağı tarafından kullanılan alt ağı, Docker daemon yapılandırma dosyasındaki fixed-cidr ayarı aracılığıylaözelleştirebilirsiniz.

Not

Windows Server 2019 (veya üzeri) üzerinde oluşturulan NAT ağları, yeniden başlatma sonrasında artık kalıcı olmaz.

NAT ağı oluşturma

alt ağ 10.244.0.0/24ile yeni bir NAT ağı oluşturmak için:

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

Saydam ağ sürücüsü

'Transparent' sürücü ile oluşturulan bir ağa bağlı kapsayıcılar, dış Hyper-V switch aracılığıyla fiziksel ağa doğrudan bağlanır. Fiziksel ağdan IP'ler statik olarak (kullanıcı tarafından belirtilen --subnet seçeneği gerektirir) veya bir dış DHCP sunucusu kullanılarak dinamik olarak atanabilir.

Not

Aşağıdaki gereksinim nedeniyle kapsayıcı konaklarınızı saydam bir ağ üzerinden bağlamak Azure VM'lerinde desteklenmez.

Gereklidir: Bu mod bir sanallaştırma senaryosunda kullanıldığında (kapsayıcı konağı bir VM'dir) MAC adresi sahtekarlığı gerektirir.

Saydam ağ oluşturma

alt ağ 10.244.0.0/24, ağ geçidi 10.244.0.1, DNS sunucusu 10.244.0.7 ve VLAN kimliği 7ile yeni bir saydam ağ oluşturmak için:

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

Kaplama ağ sürücüsü

Docker Swarm ve Kubernetes gibi kapsayıcı düzenleyicileri tarafından popüler olarak kullanılan katman ağına bağlı kapsayıcılar, birden çok kapsayıcı konağında aynı ağa bağlı diğer kapsayıcılarla iletişim kurabilir. Her katman ağı, özel IP ön eki tarafından tanımlanan kendi IP alt ağıyla oluşturulur. Katman ağ sürücüsü, kiracı kapsayıcı ağları arasında ağ trafiği yalıtımı elde etmek için VXLAN kapsüllemesini kullanır ve katman ağları arasında IP adreslerinin yeniden kullanılmasına olanak tanır.

Gerekli: Ortamınızın katman ağları oluşturmak için gerekli önkoşul karşılandığından emin olun.

Gerekli: Windows Server 2019'da bunun için KB4489899gerekir.

Gerekli: Windows Server 2016'da bunun için KB4015217gerekir.

Not

Windows Server 2019 ve üzerinde Docker Swarm tarafından oluşturulan katman ağları, giden bağlantı için VFP NAT kurallarından yararlanır. Bu, belirli bir kapsayıcının 1 IP adresi aldığı anlamına gelir. Ayrıca ping veya Test-NetConnection gibi ICMP tabanlı araçların hata ayıklama durumlarında TCP/UDP seçenekleri kullanılarak yapılandırılması gerektiği anlamına gelir.

Katman ağı oluşturma

alt ağ 10.244.0.0/24, DNS sunucusu 168.63.129.16ve VSID 4096ile yeni bir katman ağı oluşturmak için:

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

L2bridge ağ sürücüsü

'l2bridge' sürücüsüyle oluşturulan bir ağa bağlı kapsayıcılar, dış Hyper-V anahtarıyla fiziksel ağa bağlanır. l2bridge'de, giriş ve çıkışta Katman 2 adres çevirisi (MAC yeniden yazma) işlemi nedeniyle kapsayıcı ağ trafiği ana bilgisayarla aynı MAC adresine sahip olacaktır. Veri merkezlerinde bu, bazen kısa süreli kapsayıcıların MAC adreslerini öğrenmek zorunda olan ağ anahtarlarının üzerindeki stresi azaltmaya yardımcı olur. L2bridge ağları 2 farklı şekilde yapılandırılabilir:

  1. L2bridge ağı, kapsayıcı konağıyla aynı IP alt ağıyla yapılandırılır
  2. L2bridge ağı yeni bir özel IP alt ağıyla yapılandırıldı

Yapılandırmada 2 kullanıcının konak ağ bölmesine ağ geçidi işlevi gören bir uç nokta eklemesi ve belirlenen ön ek için yönlendirme özelliklerini yapılandırması gerekir.

L2bridge ağı oluşturma

alt ağ 10.244.0.0/24, ağ geçidi 10.244.0.1, DNS sunucusu 10.244.0.7 ve VLAN Kimliği 7 ile yeni bir l2bridge ağı oluşturmak için:

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

Bahşiş

L2bridge ağları yüksek oranda programlanabilir; l2bridge'i yapılandırma hakkında daha fazla bilgi buradabulunabilir.

L2tunnel ağ sürücüsü

Oluşturma işlemi l2bridge ile aynıdır, ancak bu sürücü yalnızca bir Microsoft Cloud Stack (Azure)kullanılmalıdır. l2bridge'e göre tek fark, tüm kapsayıcı trafiğinin SDN ilkesinin uygulandığı sanallaştırma konağına gönderilmesi ve böylece kapsayıcılar için Azure Ağ Güvenlik Grupları gibi özelliklerin etkinleştirilmesidir.

Ağ topolojileri ve IPAM

Aşağıdaki tabloda, her ağ sürücüsü için iç (kapsayıcıdan kapsayıcıya) ve dış bağlantılar için ağ bağlantısının nasıl sağlandığı gösterilmektedir.

Ağ modları/Docker sürücüleri

Docker Windows Ağ Sürücüsü Tipik kullanımlar Kapsayıcıdan kapsayıcıya (Tek düğüm) Kapsayıcıdan dış sistemlere (tek düğüm + çok düğümlü) Kapsayıcıdan kapsayıcıya (çok düğümlü)
NAT (Varsayılan) Geliştiriciler için iyi
  • Aynı Alt Ağ: Hyper-V sanal anahtarı aracılığıyla köprülü bağlantı
  • Alt ağlar arasında geçiş: Desteklenmez (yalnızca bir NAT iç ön eki)
Yönetim vNIC aracılığıyla yönlendirildi (WinNAT'ye bağlı) Doğrudan desteklenmez: Ana bilgisayar aracılığıyla bağlantı noktalarının açığa çıkarılması gerekir
Saydam Geliştiriciler veya küçük dağıtımlar için iyi
  • Aynı Alt Ağ: Hyper-V sanal anahtarı aracılığıyla köprülü bağlantı
  • Alt Ağlar Arası: Kapsayıcı konağı aracılığıyla yönlendirildi
(Fiziksel) ağ bağdaştırıcısına doğrudan erişime sahip kapsayıcı konağı üzerinden yönlendirildi (Fiziksel) ağ bağdaştırıcısına doğrudan erişime sahip kapsayıcı konağı üzerinden yönlendirildi
Katman Çok düğümlü ortamlar için iyidir; Docker Swarm için gereklidir, Kubernetes'te de mevcuttur.
  • Aynı Alt Ağ: Hyper-V sanal anahtarı aracılığıyla köprülü bağlantı
  • Alt Ağlar Arası: Ağ trafiği Mgmt vNIC aracılığıyla kapsüllenip yönlendirilir
Doğrudan desteklenmez - Windows Server 2016'da NAT ağına ekli ikinci kapsayıcı uç noktası veya Windows Server 2019'da VFP NAT kuralı gerektirir. Aynı/Alt Ağlar Arası: Ağ trafiği VXLAN kullanılarak kapsüllenmiştir ve Mgmt vNIC üzerinden yönlendirilir
L2Bridge Kubernetes ve Microsoft SDN için kullanılır
  • Aynı Alt Ağ: Hyper-V sanal anahtarı aracılığıyla köprülü bağlantı
  • Alt Ağlar Arası: Kapsayıcı MAC adresi giriş ve çıkışta yeniden yazılır ve yönlendirilir
Giriş ve çıkışta kapsayıcı MAC adresi yeniden yazıldı
  • Aynı Alt Ağ: Köprülenmiş bağlantı
  • Alt Ağ Arası: WSv1809 ve üzeri üzerinde Mgmt vNIC üzerinden yönlendirilir
L2Tunnel Yalnızca Azure Aynı/Alt Ağlar Arası: fiziksel konağın Hyper-V sanal anahtarına, ilkenin uygulandığı yere sabitlenmiş saç Trafiğin Azure sanal ağ geçidinden geçmesi gerekir Aynı/Alt Ağlar Arası: fiziksel konağın Hyper-V sanal anahtarına, ilkenin uygulandığı yere sabitlenmiş saç

IPAM

IP Adresleri her ağ sürücüsü için farklı şekilde ayrılır ve atanır. Windows, nat sürücüsü için IPAM sağlamak üzere Host Networking Service'i (HNS) kullanır ve ağ kaplaması için IPAM sağlamak üzere Docker Swarm Modu (iç KVS) ile çalışır. Diğer tüm ağ sürücüleri bir dış IPAM kullanır.

Ağ Modu / Sürücü IPAM
NAT İç NAT alt ağ ön ekinden Konak Ağ Hizmeti (HNS) tarafından dinamik IP ayırma ve atama
Saydam Kapsayıcı konağının ağ ön eki içindeki IP adreslerinden statik veya dinamik (dış DHCP sunucusu kullanılarak) IP ayırma ve atama
Kaplama Docker Engine Swarm Modu yönetilen ön eklerden dinamik IP ayırma ve HNS aracılığıyla atama
L2Bridge Konak Ağ Hizmeti (HNS) tarafından verilen alt ağ ön ekinden dinamik IP ayırma ve atama.
L2Tunnel Yalnızca Azure - Eklentiden dinamik IP ayırma ve atama

Hizmet Bulma

Service Discovery yalnızca belirli Windows ağ sürücüleri için desteklenir.

Sürücü adı Yerel Hizmet Bulma Genel Hizmet Bulma
Nat EVET Docker EE ile EVET
Kaplama EVET Docker EE veya kube-dns ile EVET
saydam HAYIR HAYIR
l2bridge kube-dns ile EVET kube-dns ile EVET