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.
Bu makalede, düğüm otomatik sağlama (NAP) kullanan Azure Kubernetes Service (AKS) kümeleri için ağ yapılandırma gereksinimlerine ve önerilerine genel bir bakış sağlanır. Desteklenen yapılandırmalar, varsayılan alt ağ davranışı, rol tabanlı erişim denetimi (RBAC) kurulumu ve sınıfsız etki alanları arası yönlendirme (CIDR) konuları ele alınmaktadır.
AKS'de düğüm otomatik sağlamaya genel bakış için bkz. Azure Kubernetes Service'te (AKS) düğüm otomatik sağlamaya (NAP) genel bakış.
NAP için desteklenen ağ yapılandırmaları
NAP aşağıdaki ağ yapılandırmalarını destekler:
Azure CNI'nin Cilium ile kullanılmasını öneririz. Cilium gelişmiş ağ özellikleri sağlar ve NAP ile performans için iyileştirilmiştir.
NAP için desteklenmeyen ağ yapılandırmaları
NAP aşağıdaki ağ yapılandırmalarını desteklemez:
- Calico ağ ilkesi
- Dinamik IP ayırma
NAP için alt ağ yapılandırmaları
NAP, AKS kümelerinizde Karpenter'ı otomatik olarak dağıtır, yapılandırıp yönetir ve açık kaynak Karpenter ve AKS Karpenter sağlayıcı projelerini temel alır. Özel alt ağ yapılandırmalarını NAP düğümleri için düğüm havuzlarınızda belirtmek amacıyla, isteğe bağlı AKSNodeClass alanını ayarlayarak vnetSubnetID kaynaklarını kullanabilirsiniz ve Karpenter, belirttiğiniz alt ağı düğüm sağlama işlemi için kullanır. Alt ağ belirtmezseniz Karpenter, Karpenter yüklemesi sırasında yapılandırılan varsayılan alt ağı kullanır. Bu varsayılan alt ağ genellikle AKS kümesi oluşturulurken az aks create komutundaki --vnet-subnet-id parametresi ile belirtilen alt ağ ile aynıdır.
Bu yaklaşım, bazıları belirli iş yükleri için özel alt ağları, bazıları da kümenin varsayılan alt ağ yapılandırmasını kullanarak düğüm sınıflarının bir karışımına sahip olmanıza olanak tanır.
Alt ağ kayma davranışı
Karpenter, alt ağ yapılandırma değişikliklerini izler ve bir AKSNodeClass içindeki vnetSubnetID değiştirildiğinde sapmayı algılar. Özel ağ yapılandırmalarını yönetirken bu davranışı anlamak kritik önem taşır.
vnetSubnetID Geçerli bir alt ağdan başka bir geçerli alt ağa değişiklik yapmak desteklenen bir işlem değildir. Eğer vnetSubnetID öğesini farklı bir geçerli alt ağa işaret edecek şekilde değiştirirseniz, Karpenter bunu alt ağ kayması olarak algılar ve sorun çözülene kadar düğüm sağlamayı durdurur ve vnetSubnetID öğesini özgün alt ağa geri döndürmeniz gerekir. Bu davranış, düğümlerin yalnızca hedeflenen alt ağlarda sağlanmasını ve ağ bütünlüğünün ve güvenliğinin korunmasını sağlar. Ancak, bu kuralın özel durumları vardır. yalnızca aşağıdaki senaryolarda değiştirebilirsiniz vnetSubnetID :
- Düğüm sağlamayı engelleyen hatalı biçimlendirilmiş alt ağ kimliğini düzeltme.
- Geçersiz bir alt ağ referansının yapılandırma hatalarına neden olması problemi düzeltiliyor.
- Var olmayan veya erişilemeyen bir alt ağa işaret eden bir alt ağ tanımlayıcısını güncelleştirme.
AKS kümesi Sınıfsız Inter-Domain Yönlendirme (CIDR) aralıklarını anlayın
ile vnetSubnetIDözel ağ yapılandırırken, ağ çakışmalarını önlemek için kümenizin CIDR aralıklarını anlamak ve yönetmek sizin sorumluluğunuzdadır. ARM şablonları aracılığıyla oluşturulan geleneksel AKS düğümü havuzlarından farklı olarak Karpenter, ARM'nin sağladığı genişletilmiş doğrulama olmadan düğümleri anında sağlayan özel kaynak tanımları (CRD) uygular.
Özel alt ağ yapılandırmaları için CIDR ile ilgili dikkat edilmesi gerekenler
yapılandırırken vnetSubnetID şunları yapmanız gerekir:
- CIDR uyumluluğunu doğrulayın: Özel alt ağların mevcut CIDR aralıklarıyla çakışmadığından emin olun.
- IP kapasitesini planlama: Beklenen ölçeklendirme için gerekli IP adreslerini hesaplayın.
- Bağlantıyı doğrulama: Ağ yollarını ve güvenlik grubu kurallarını test edin.
- Kullanımı izleme: Alt ağ kullanımını izleyin ve büyümeyi planlayın.
- Belge yapılandırması: Ağ tasarımı kararlarının kayıtlarını koruyun.
Yaygın CIDR çakışmaları
NAP ile özel alt ağları kullanırken aşağıdaki yaygın CIDR çakışma senaryolarına dikkat edin:
# Example conflict scenarios:
# Cluster Pod CIDR: 10.244.0.0/16
# Custom Subnet: 10.244.1.0/24 ❌ CONFLICT
# Service CIDR: 10.0.0.0/16
# Custom Subnet: 10.0.10.0/24 ❌ CONFLICT
# Safe configuration:
# Cluster Pod CIDR: 10.244.0.0/16
# Service CIDR: 10.0.0.0/16
# Custom Subnet: 10.1.0.0/24 ✅ NO CONFLICT
Özel alt ağ yapılandırmaları için RBAC kurulumu
NAP ile özel alt ağ yapılandırmalarını kullanırken, Karpenter'ın alt ağ bilgilerini okumak ve düğümleri belirtilen alt ağlara birleştirmek için gerekli izinlere sahip olduğundan emin olmanız gerekir. Bunun için kümenin yönetilen kimliği için uygun RBAC izinlerinin ayarlanması gerekir.
Bu izinleri ayarlamaya yönelik iki ana yaklaşım vardır: Geniş sanal ağ (VNet) izinleri atama veya Kapsamlı alt ağ izinleri atama.
Bu yaklaşım en izin verici yaklaşımdır ve küme kimliğine ana VNet içindeki herhangi bir alt ağı okuma ve birleştirme izinleri verir ve ağ katkıda bulunan erişimi sağlar.
Önemli
Üretim kümenize bu yaklaşımı uygulamadan önce "Network Contributor" rolünü araştırın.
Avantajlar ve dikkat edilmesi gerekenler
Aşağıdaki tabloda, geniş sanal ağ izinleri atamanın avantajları ve dikkat edilmesi gerekenler özetlenmiştir:
| Fayda -ları | Değerlendirmeler |
|---|---|
| • İzin yönetimini basitleştirir. • Yeni alt ağlar eklerken izinleri güncelleştirme gereksinimini ortadan kaldırır. • Tek kiracılı ortamlar için iyi çalışır. • Bir abonelik en fazla özel rol sayısına ulaştığında çalışır. |
• Kesinlikle gerekli olandan daha geniş izinler sağlar. • Katı güvenlik gereksinimlerini karşılamayabilir. |
Gerekli izinler
Geniş sanal ağ izinleri atamak için, kümenin yönetilen kimliğine sanal ağ üzerinde aşağıdaki izinleri verin:
# Get your cluster's managed identity
CLUSTER_IDENTITY=$(az aks show --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --query identity.principalId -o tsv)
# Get your VNet resource ID
VNET_ID="/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$VNET_RESOURCE_GROUP/providers/Microsoft.Network/virtualNetworks/$VNET_NAME"
# Assign Network Contributor role for subnet read/join operations
az role assignment create \
--assignee $CLUSTER_IDENTITY \
--role "Network Contributor" \
--scope $VNET_ID
Özel ağ oluşturma ve geniş sanal ağ izinleri atamanın eksiksiz bir örneği için bkz. Özel sanal ağ kurulumu - En izinli RBAC örnek betiği.
Örnek özel alt ağ yapılandırmaları
Aşağıdaki örnekte, AKSNodeClass kaynağındaki vnetSubnetID alanında NAP düğümleri için özelleştirilmiş bir alt ağın nasıl yapılandırılacağı gösterilmektedir:
apiVersion: karpenter.azure.com/v1beta1
kind: AKSNodeClass
metadata:
name: custom-networking
spec:
vnetSubnetID: "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Network/virtualNetworks/$VNET_NAME/subnets/$SUBNET_NAME"
Aşağıdaki örnekte, farklı alt ağ yapılandırmalarına sahip birden çok düğüm sınıfının nasıl kullanılacağı gösterilmektedir:
apiVersion: karpenter.azure.com/v1beta1
kind: AKSNodeClass
metadata:
name: frontend-nodes
spec:
vnetSubnetID: "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Network/virtualNetworks/$VNET_NAME/subnets/$FRONTEND_SUBNET_NAME"
---
apiVersion: karpenter.azure.com/v1beta1
kind: AKSNodeClass
metadata:
name: backend-nodes
spec:
vnetSubnetID: "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/$RESOURCE_GROUP/providers/Microsoft.Network/virtualNetworks/$VNET_NAME/subnets/$BACKEND_SUBNET_NAME"
Kendi CNI (BYO CNI) destek ilkenizi getirme
Azure için Karpenter, AKS ile aynı destek ilkesini izleyerek kendi Kapsayıcı Ağ Arabirimi (BYO CNI) yapılandırmalarınızı getirmenizi sağlar. Bu, özel bir CNI kullanırken ağ ile ilgili sorun giderme desteğinin hizmet düzeyi sözleşmelerinin veya garantilerinin kapsamı dışında olduğu anlamına gelir.
Destek kapsamı ayrıntıları
Karpenter ile BYO CNI kullanılırken nelerin desteklenip desteklenmediği aşağıda özetlenmiştir:
- Destekleniyor: Karpenter'e özgü işlevler ve kendi CNI yapılandırmalarınızı (BYO) kullanırken karşılaşılan tümleştirme sorunları.
- Desteklenmez: Üçüncü taraf CNI eklentilerini kullanırken CNI'ye özgü ağ sorunları, yapılandırma sorunları veya sorun giderme.
Sonraki Adımlar
AKS'de düğüm otomatik sağlama hakkında daha fazla bilgi için aşağıdaki makalelere bakın: