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.
Azure Kubernetes Service (AKS)'da çok NIC pod desteğini kullanarak, kümenizde çalışan podlara standart CNI tarafından atanan birincil arabirimle birlikte bir veya daha fazla ikincil ağ arabirimi ekleyebilirsiniz. Bu özellik, Kubernetes Dinamik Kaynak Ayırma (DRA) ve çalışma zamanında ikincil NIC'leri otomatik olarak bulup podlara yerleştiren yönetilen bir DRAnet ağ sürücüsü kullanır.
Important
AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "mevcut olduğu şekilde" sağlanmakta olup, hizmet seviyesi anlaşmalarına ve sınırlı garantilere dahil edilmemektedir. AKS önizlemeleri, müşteri desteği ekibi tarafından maksimum çaba gösterilerek kısmen ele alınmaktadır. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:
Overview
Varsayılan olarak, AKS kümesindeki her pod, Azure CNI eklentisi tarafından yönetilen tek bir ağ arabirimi (eth0) alır. Bu arabirim çoğu iş yükü için yeterli olsa da, bazı senaryolarda podların farklı alt ağlara veya sanal ağlara bağlı birden çok ağ arabirimi olması gerekir.
Çoklu NIC pod desteği, bu senaryoları ele alır ve şunları yapmanıza olanak tanır:
- Her düğüme bağlı ikincil ağ arabirimleriyle AKS düğümü havuzları sağlayın.
- Her düğümdeki ikincil NIC'leri otomatik olarak bulmak için AKS DRANET sürücüsü kullanın.
- Bu ikincil arabirimleri kaynak talepleri aracılığıyla zamanlama sırasında podlara ekleyin.
Important
Genel IP'leri olan ikincil NIC'ler Azure Load Balancer ve SNAT'yi atlayarak iş yüklerini doğrudan İnternet'e sunar. AKS, bu trafik için varsayılan bir koruma katmanı sağlamaz. Gelen ve giden erişimi kısıtlamak için uygun NSG ve güvenlik duvarı kurallarını yapılandırmanız ve korumanız gerekir.
Nasıl çalışır?
AKS'de çoklu NIC pod desteği, birlikte çalışan üç temel bileşene dayanır:
1. İkincil ağ arabirimleri yapılandırması
Düğüm havuzu oluşturduğunuzda veya güncelleştirdiğinizde, düğüm havuzunun ağ profilinde bir veya daha fazla ikincil ağ arabirimi belirtin. AKS, düğümleri bu ek NIC'ler eklenmiş şekilde yapılandırır ve her NIC belirttiğiniz alt ağa bağlanır.
"networkProfile": {
"secondaryNetworkInterfaces": [
{
"type": "Standard",
"vnetSubnetId": "<subnet-resource-id>"
}
]
}
2. Dinamik Kaynak Ayırma (DRA)
Dinamik Kaynak Ayırma (DRA), donanım kaynaklarına erişim istemek ve yönetmek için bir çerçeve sağlayan bir Kubernetes özelliğidir (Kubernetes 1.34'te GA). Çok NIC bağlamında DRA, ikincil ağ arabirimlerinin yaşam döngüsünü atanabilir cihazlar olarak yönetir.
Aşağıdaki DRA kaynakları kullanılır:
- DeviceClass — DRAnet sürücüsünün yayımladığı, hangi cihazların eşleştiğini filtrelemeye yarayan seçicilere sahip bir cihaz sınıfı (ikincil NIC’ler) tanımlar.
- ResourceClaimTemplate — Pod'ların belirli bir cihaz sınıfından belirli sayıda NIC istemek için başvurduğu bir şablon.
3. Yönetilen DRAnet ağ sürücüsü
DRAnet ağ sürücüsü her düğümde bir DaemonSet olarak çalışır. O:
- Düğümdeki tüm ağ arabirimlerini bulur.
- Kullanılabilir ikincil NIC'leri DRA cihaz kaynakları olarak yayımlar.
- Pod zamanlama sırasında NIC'lerin pod ağ ad alanlarına eklenmesini ve bu alanlardan ayrılmasını yönetir.
Uçtan uca akış
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
- Kubernetes sürümü — Kubernetes 1.34 ve üzerini gerektirir (DRA GA desteği için).
- Sanal ağ kapsamı — Tüm ikincil NIC'lerin birincil NIC ile aynı sanal ağa bağlanması gerekir. Bunları bu sanal ağ içindeki farklı alt ağlara ekleyebilirsiniz.
- NIC ataması — Her ikincil NIC yalnızca bir pod'a atanabilir. İkincil bir NIC'yi birden çok pod arasında paylaşamazsınız.
- DRANET yalnızca Linux düğüm havuzlarını destekler. Windows düğüm havuzları desteklenmez.
- Ağ ilkeleri yalnızca birincil NIC'de uygulanır. İkincil NIC'ler üzerinden akan trafik AKS ağ ilkesi zorlamasını atlar.
-
VM boyutu — Düğüm havuzu VM boyutu, toplam ağ arabirimi sayısını (birincil + ikincil) desteklemelidir. Desteklenen en yüksek ağ arabirimi sayısını ve Hızlandırılmış Ağ özelliklerini doğrulamak için Azure VM boyutu belgelerine bakın veya
az vm list-skuskomutunu kullanın. Bir örnek aşağıda verilmiştir:
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