Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: Windows Server 2025, Windows Server 2022
Ağ başına birden çok alt ağ kullanmak artık Windows kapsayıcıları için Konak Ağ Hizmeti'nde (HNS) desteklenmektedir. Daha önce HNS, Kubernetes kapsayıcı uç noktası yapılandırmalarını yalnızca temel alt ağın ön ek uzunluğunu kullanacak şekilde kısıtlamıştı. HNS, daha uzun ön ek uzunluğuna sahip alt ağlar ve Windows çalışan düğümü başına birden çok alt ağ gibi daha kısıtlayıcı alt ağlar kullanabilmeniz için geliştirilmiştir. Bu işlevi sağlayabilen ilk Kapsayıcı Ağ Arabirimi (CNI), Windows için Calico'dur. Calico Ağ İlkeleri, Tigeratarafından kurulan bir açık kaynak ağ ve ağ güvenlik çözümüdür.
HNS'de birden çok alt ağı yalnızca l2bridge, l2tunnelve katman ağ sürücüleri için kullanabilirsiniz. Bu ağ sürücüleri birden çok alt ağı kullanıma seçip her uç noktanın bu alt ağlardan birine bağlanmasına izin verebilir.
HNS ve Konak İşlem Hizmeti (HCS), kapsayıcılar oluşturmak ve bir ağa uç noktalar eklemek için birlikte çalışır. HNS PowerShell Yardımcısı modülünü kullanarak HNS ile etkileşim kurabilirsiniz.
Calico gereksinimleri
Calico CNI için birden çok alt ağ desteği alt ağın daha küçük IP bloklarına bölünmesini gerektirir. Tüm IP bloklarının aynı ağ geçidini paylaşması gerekir, ancak her IP bloğunun kendi ayrı yayın etki alanı olabilir. IPV4 ayırmasını mümkün olduğunca verimli hale getirmek için, Calico, kapsayıcı uç noktalarına çok küçük ön ekler (/32 kadar küçük) ayarlamanın yanı sıra, çok küçük IP blokları (bir blok = dört IP adresi kadar küçük) oluşturmayı gerektirir.
Calico IP Adres Yönetimi'nin (IPAM) tam uygulaması aşağıdaki gibi çalışır:
Calico'nun IPAM işlevi, ip adreslerini isteğe bağlı iş yüklerine ayırmak için tasarlanmıştır. Calico, yönetim gruplandırma için birden çok IP havuzunu da destekler. Belirli bir iş yükü için ayırma yapılandırırken, izin verilen havuz kümesi çeşitli kullanım örneklerine olanak tanıyan yapılandırmayla sınırlandırılabilir. Farklı kullanım örnekleri için aşağıdaki yönergeleri izleyin:
- Kapasiteyi artırmak için birden çok kopuk havuz kullanın.
- Rack içindeki l2bridge ağlar için, rack içindeki konakların yalnızca belirli bir havuzdan ayırabileceği şekilde, her rack için bir IP havuzu yapılandırın.
- Her bir yığın katmanı için bir IP havuzu kullanın; ön uç podları (genel olabilir) bir ön uç havuzundan, arka uç podları ise (büyük olasılıkla aynı konakta) farklı bir aralıktan IP alır. Bu, Calico'ya agresif ağ bölümleme gereksinimleriyle uyum sağlamasına olanak tanır (eski güvenlik duvarlarıyla çalışmak için gerekli olabileceği gibi).
- Bir yığının her katmanı için bir tane olmak üzere çok küçük mikro havuzlar kullanın. Bu havuzlar çok küçük olduğundan, her konağın birden fazla havuzun iş yüklerini desteklemesi gerekir.
IP'ler her zaman bloklardan tahsis edilir ve bu bloklar belirli bir konağa bağlı olabilir. Bir ev sahibi, yeterli alan varsa (ve yalnızca blok, belirli bir iş yükü için izin verilen bir havuza aitse), kendi ilişkili bloklarından birinden IP adreslerini atamaya çalışacaktır. Konağın mevcut bloklarından hiçbirinin alanı yoksa, konak izin verilen bir havuzdan yeni bir blok talep etmeye çalışır. Kullanılabilir boş blok yoksa, bu blok başka bir konağa bağlı olsa bile, izin verilen bir havuzdaki boş alanı olan herhangi bir bloktan IP'yi ödünç alır.
Calico, toplamayı desteklemek için en uzun ön ek eşleştirme yönlendirme kullanır. Her konak, tüm afine blokları için yolları duyurur ve ödünç aldığı IP'ler için /32 yolları duyurur. /32 yolu daha belirgin olduğundan, /32'ye iletilmesi gereken uzak konaklar, affiniteli bloklu ana bilgisayara daha geniş /26 yolu yerine /32 yolunu kullanır.
Calico yönlendirilmiş bir L3 ağı olduğundan ,/26 yollarının alt ağ olarak tasarlanmadığını belirtmek gerekir. Örneğin, ağ veya yayın adresi yoktur; ve bir bloğun "0" ve "255" adresleri normal IP'ler olarak kullanılır.
Calico HNS veri düzlemi gereksinimleri
HNS'de birden çok alt ağı etkinleştirmek için çeşitli Calico bağlantı ve ilke gereksinimleri vardır:
- Aynı konak üzerindeki tüm iş yüklerinin birbirine ve uzak podlara bağlantısı olmalıdır.
- Podlar arasındaki tüm paket yolları, gönderen ve alıcının aynı konakta birlikte bulunup bulunmadığını ve birbirlerine doğrudan mı yoksa hizmet kümesi IP'si ile mi eriştiklerini belirtmelidir:
- Erişim denetim listesi (ACL) çıkış ve giriş ilkeleri uygulanmalıdır.
- Hem gönderen podun çıkış ilkesi hem de alıcı podun giriş ilkesi trafiğe izin vermelidir.
- Tüm Calico programlanmış ACL kuralları pod IP'lerini görüntüleyebilmelidir.
- Sunucular ve podlar birbirine erişebilmelidir ve Sınır Ağ Geçidi Protokolü (BGP) üzerinden öğrenilen yollar aracılığıyla diğer sunuculardaki podlara erişebilmelidir.
Konak gereksinimleri başına birden çok IP bloğu
Konak başına birden çok IP bloğu desteklemek için aşağıdaki gereksinimleri gözden geçirin:
- Belirli bir tek IP havuzu için veri düzlemi, farklı, birbiriyle bağımsız IP bloklarından IP'lerle pod eklenmesine izin vermelidir. Örneğin, IP havuzu 10.0.0.0/16 olabilir, ancak bir ana bilgisayar rastgele iki blok talep edebilir: 10.0.123.0/26 ve 10.0.200.0/26.
- Havuzun ve blokların boyutunun ilk ayırmadan önce bilinmesi gerekmez. Bu kesinlikle önerilir.
- Aynı havuzdaki diğer bloklar diğer konaklarda bulunabilir.
- Çeşitli blokların ortak ön eki konağın kendi IP adresiyle çakışabilir.
IP ödünç alma desteği gereksinimleri
Calico IPAM, toplama amacıyla IP'leri ana bilgisayarlara bloklar halinde tahsis eder. IP havuzu doluysa, düğümler başka bir düğümün bloğundan IP'leri ödünç alabilir. BGP terimleriyle, ödünç alan taraf daha sonra ödünç alınan IP için daha belirli bir /32 rotası duyurur ve ardından bu IP için trafik ödünç alan ana bilgisayara yönlendirilir.
Windows düğümleri bu ödünç alma mekanizmasını desteklemez. IP havuzu dolu olsa bile IP'leri ödünç almaz ve Linux düğümlerinin de onlardan ödünç almaması için bloklarını işaretlerler.
Mikro havuzları destekleme gereksinimleri
Mikro havuzları kullanmak için blok başına dört IP ayırma gereksinimi kaldırılır. Mikro havuz kullanım örneğinde, çok küçük havuzlar ve çok küçük bloklar kullanılır, bu nedenle blok başına dört IP, IP'lerin çoğunu boşa harcar. Her bir ana makine veya havuz başına az sayıda ayrılmış IP talep edebilirsiniz. En iyi yöntem, tüm katman 2 destek kısıtlamalarının kaldırılmasıdır (örneğin, yayın desteği ve ayrılmış IP'ler olmamalıdır).
PowerShell kullanarak alt ağ ve IP alt ağı oluşturma
Devam etmeden önce HNS PowerShell galerisindenHNS.V2.psm1 modülünün yüklü olduğundan emin olun.
Aşağıdaki adımlarda örnekleri kullanarak bir alt ağ ve IP alt ağı oluşturma adımları açıklanmaktadır.
192.168.1.0/24 IP alt ağını ve 192.168.2.0/24 IP alt ağını içeren bir 192.168.0.0/16 alt ağına sahip l2bridge ağı oluşturmak için aşağıdaki komutu çalıştırın:
$net1 = New-HnsNetwork -Type L2Bridge -Name Test1 -AddressPrefix "192.168.0.0/16" -Gateway "192.168.0.1" -Verbose -IPSubnets @(@{"IpAddressPrefix"="192.168.1.0/24";"Flags"=0},@{"IpAddressPrefix"="192.168.2.0/24";"Flags"=[IPSubnetFlags]::EnableBroadcast})l2bridge ağına 172.16.1.0/16 IP alt ağı içeren yeni bir 172.16.0.0/16 alt ağı eklemek için aşağıdaki komutu çalıştırın:
New-HnsSubnet -NetworkID $net1.ID -Subnets @{ "IpAddressPrefix"="172.16.0.0/16"; "Routes"=@(@{"NextHop"="172.16.0.1";"DestinationPrefix"="0.0.0.0"}); "IpSubnets"=@(@{"IpAddressPrefix"="172.16.1.0/24"})172.16.0.0/16 alt ağına yeni bir 172.16.2.0/24 IP alt ağı eklemek için aşağıdaki komutu çalıştırın:
New-HnsIPSubnet -NetworkID $net1.ID -SubnetID $net2.Subnets[1].ID -IPSubnets @{"IpAddressPrefix"="172.16.2.0/24";"Flags"=0}
IP alt ağlarını kaldırmak için aşağıdaki adımları kullanın:
172.16.2.0/24 IP alt alığını kaldırmak için aşağıdaki komutu çalıştırın:
$net2 = Get-HnsNetwork -ID $net1.ID Remove-HnsIpSubnet -NetworkID $net1.ID -SubnetID $net2.Subnets[1].ID -IPSubnets @{"ID"=$net2.Subnets[1].IPSubnets[1].ID}172.16.0.0/16 alt alığını kaldırmak için aşağıdaki komutu çalıştırın:
Remove-HnsSubnet -NetworkID $net1.ID -Subnets @{"ID"=$net2.Subnets[1].ID}