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.
Cilium tarafından desteklenen Azure CNI, yüksek performanslı ağ ve güvenlik sağlamak için Azure CNI'nin güçlü denetim düzlemini Cilium'un veri düzlemiyle birleştirir.
Linux çekirdeğine yüklenen eBPF programlarını ve daha verimli bir API nesne yapısını kullanarak Cilium tarafından desteklenen Azure CNI aşağıdaki avantajları sağlar:
Mevcut Azure CNI ve Azure CNI Katman eklentilerine eşdeğer işlevsellik
Geliştirilmiş Hizmet yönlendirmesi
Ağ politikalarının daha verimli uygulanması
Küme trafiğinin daha iyi gözlemlenebilirliği
Daha fazla düğüm, pod ve servis içeren daha büyük kümeler için destek
Cilium tarafından desteklenen Azure CNI ile IP Adresi Yönetimi (IPAM)
Cilium tarafından desteklenen Azure CNI, pod IP'leri atamak için iki farklı yöntem kullanılarak dağıtılabilir:
Katman ağından IP adresleri atama (Azure CNI Yer Paylaşımı moduna benzer)
Sanal ağdan IP adresleri atama (Dinamik Pod IP Ataması ile mevcut Azure CNI'ye benzer)
Hangi seçeneği belirleyebileceğinizden emin değilseniz "Kullanılacak ağ modeli seçme" ifadesini okuyun.
Versions
| Kubernetes Sürümü | En Düşük Cilium Sürümü |
|---|---|
| 1,29 (LTS) | 1.14.19 |
| 1.30 | 1.14.19 |
| 1.31 | 1.16.6 |
| 1.32 | 1.17.0 |
| 1.33 | 1.17.0 |
AKS sürüm oluşturma ve sürüm zaman çizelgeleri hakkında daha fazla bilgi için bkz. Desteklenen Kubernetes Sürümleri .
Ağ İlkesi Uygulaması
Cilium , podlar arasındaki trafiğe izin vermek veya trafiği reddetmek için ağ ilkelerini zorunlu kılar. Cilium ile Azure Ağ İlkesi Yöneticisi veya Calico gibi ayrı bir ağ ilkesi altyapısı yüklemeniz gerekmez.
Limitations
Cilium tarafından desteklenen Azure CNI şu anda aşağıdaki sınırlamalara sahiptir:
Yalnızca Linux için kullanılabilir, Windows için kullanılamaz.
Ağ ilkeleri
ipBlockdüğüm veya pod IP'lerine erişim izni vermek için kullanılamaz. Ayrıntılar ve önerilen geçici çözüm için sık sorulan sorulara bakın.Cilium 1.16 veya önceki sürümleri için, birden çok Kubernetes hizmeti farklı protokollerle (örneğin, TCP veya UDP) aynı ana bilgisayar bağlantı noktasını kullanamaz (Cilium sorunu #14287).
Podlar tek tek kimliklere sahip olmak yerine konak kimliğini kullandığından, ağ ilkeleri konak ağı kullanan podlara uygulanmaz.
Cilium Endpoint Slices, Kubernetes sürüm 1.32 ve üzeri sürümlerde desteklenir. Cilium Uç Nokta Dilimleri, Cilium Uç Noktalarının nasıl gruplandırıldıklarına yönelik yapılandırmayı desteklemez.
cilium.io/ces-namespacearacılığıyla öncelikli ad alanı desteklenmez.L7 ilkesi CiliumClusterwideNetworkPolicy (CCNP) tarafından desteklenmez.
Considerations
Ağ trafiğinizde gözlemlenebilirlik ve kümenizde Tam Etki Alanı Adı (FQDN) tabanlı filtreleme ve Katman 7 tabanlı ağ ilkeleri gibi güvenlik özellikleri elde etmek için, kümelerinizde Gelişmiş Kapsayıcı Ağı hizmetlerini etkinleştirmeyi göz önünde bulundurun.
Prerequisites
Azure CLI sürüm 2.48.1 veya üzeri.
az --versionkomutunu çalıştırarak yüklü olan sürümü görebilirsiniz. Yüklemeniz veya yükseltmeniz gerekiyorsa bkz. Azure CLI'yı yükleme.ARM şablonları veya REST API kullanılıyorsa AKS API sürümü 2022-09-02-preview veya üzeri olmalıdır.
Note
Önceki AKS API sürümleri (2022-09-02preview to 2023-01-02preview) alanını networkProfile.ebpfDataplane=ciliumkullanıyordu. 2023-02-02 önizleme sürümünden itibaren AKS API sürümleri, Cilium tarafından desteklenen Azure CNI'yi etkinleştirmek için alanı networkProfile.networkDataplane=cilium kullanıyor.
Cilium tarafından desteklenen Azure CNI ile yeni bir AKS Kümesi oluşturma
1. Seçenek: Katman ağından IP adresleri atama
Katman ağı ve Cilium ile küme oluşturmak için aşağıdaki komutları kullanın.
<clusterName>, <resourceGroupName> ve <location> değerlerini değiştirin:
az aks create \
--name <clusterName> \
--resource-group <resourceGroupName> \
--location <location> \
--network-plugin azure \
--network-plugin-mode overlay \
--pod-cidr 192.168.0.0/16 \
--network-dataplane cilium \
--generate-ssh-keys
Note
Önceki sürümlerde kullanılan aks-preview CLI uzantısına ait kullanım dışı --network-dataplane cilium bayrağının yerini --enable-ebpf-dataplane bayrağı alır.
2. Seçenek: Sanal ağdan IP adresleri atama
Düğümler için bir alt ağa ve podlar için bir alt ağa sahip bir kaynak grubu ve sanal ağ oluşturmak için aşağıdaki komutları çalıştırın.
# Create the resource group
az group create --name <resourceGroupName> --location <location>
# Create a virtual network with a subnet for nodes and a subnet for pods
az network vnet create --resource-group <resourceGroupName> --location <location> --name <vnetName> --address-prefixes <address prefix, example: 10.0.0.0/8> -o none
az network vnet subnet create --resource-group <resourceGroupName> --vnet-name <vnetName> --name nodesubnet --address-prefixes <address prefix, example: 10.240.0.0/16> -o none
az network vnet subnet create --resource-group <resourceGroupName> --vnet-name <vnetName> --name podsubnet --address-prefixes <address prefix, example: 10.241.0.0/16> -o none
kullanarak --network-dataplane ciliumkümeyi oluşturun:
az aks create \
--name <clusterName> \
--resource-group <resourceGroupName> \
--location <location> \
--max-pods 250 \
--network-plugin azure \
--vnet-subnet-id /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>/subnets/nodesubnet \
--pod-subnet-id /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>/subnets/podsubnet \
--network-dataplane cilium \
--generate-ssh-keys
Seçenek 3: Node Alt Ağından IP adresleri atama
Note
Azure CLI sürüm 2.69.0 veya üzeri gereklidir.
az --version komutunu çalıştırarak yüklü olan sürümü görebilirsiniz. Yüklemeniz veya yükseltmeniz gerekiyorsa bkz. Azure CLI'yı yükleme.
Cilium veri düzlemi ile düğüm alt ağı kullanarak küme oluşturma:
az aks create \
--name <clusterName> \
--resource-group <resourceGroupName> \
--location <location> \
--network-plugin azure \
--network-dataplane cilium \
--generate-ssh-keys
Sıkça sorulan sorular
Cilium yapılandırmasını özelleştirebilir miyim?
Hayır, AKS, Cilium yapılandırmasını yönetir ve değiştirilemez. Daha fazla denetim gerektiren müşterilerin AKS BYO CNI kullanmasını ve Cilium'u el ile yüklemesini öneririz.
Kubernetes
CiliumNetworkPolicykaynakları yerine özel kaynaklar kullanabilirNetworkPolicymiyim?L3 ve L4
CiliumNetworkPolicydesteklenir ve KubernetesNetworkPolicykaynaklarıyla birlikte kullanılabilir.Müşteriler , Gelişmiş Kapsayıcı Ağ Hizmetleri özellik paketinin bir parçası olarak FQDN filtreleme ve Katman 7 İlkeleri kullanabilir.
CiliumClusterwideNetworkPolicykullanabilir miyim?Evet,
CiliumClusterwideNetworkPolicydesteklenir. Aşağıdaki örnek politika YAML'si, bir L4 kuralının yapılandırılmasını gösterir.apiVersion: "cilium.io/v2" kind: CiliumClusterwideNetworkPolicy metadata: name: "l4-rule-ingress-backend-frontend" spec: endpointSelector: matchLabels: role: backend ingress: - fromEndpoints: - matchLabels: role: frontend toPorts: - ports: - port: "80" protocol: TCPAzure tarafından yönetilen CNI'de hangi Cilium özellikleri desteklenir? Bunlardan hangisi Gelişmiş Kapsayıcı Ağ Hizmetleri gerektirir?
Desteklenen Özellik ACNS olmadan birlikte ACNS ile Cilium Uç Nokta Dilimleri ✔️ ✔️ K8s Ağ İlkeleri ✔️ ✔️ Cilium L3/L4 Ağ İlkeleri ✔️ ✔️ Cilium Kümesi Genelinde Ağ İlkesi ✔️ ✔️ FQDN Filtreleme ❌ ✔️ L7 Ağ İlkeleri (HTTP/gRPC/Kafka) ❌ ✔️ Kapsayıcı Ağ Gözlemlenebilirliği (Ölçümler ve Akış günlükleri) ❌ ✔️ eBPF Ana Bilgisayar Yönlendirmesi ❌ ✔️ IP adresine izin veren bir
NetworkPolicyolduğunda trafik neden engelleniyoripBlock?Cilium tarafından desteklenen Azure CNI'nin bir sınırlaması,
NetworkPolicy'ınipBlock’nın pod veya düğüm IP'lerini seçememesidir.Örneğin, bu
NetworkPolicy, tüm çıkışaipBlockizin veren bir0.0.0.0/0öğesine sahiptir:apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: example-ipblock spec: podSelector: {} policyTypes: - Egress egress: - to: - ipBlock: cidr: 0.0.0.0/0 # This will still block pod and node IPs.Ancak bu
NetworkPolicyuygulandığında, IP'ler CIDR içindeipBlockolsa bile Cilium, pod ve düğüm IP'lerine çıkış trafiğini engeller.Geçici bir çözüm olarak,
namespaceSelectorvepodSelectorekleyerek podları seçebilirsiniz. Bu örnek, tüm ad alanları içindeki tüm podları seçer:apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: example-ipblock spec: podSelector: {} policyTypes: - Egress egress: - to: - ipBlock: cidr: 0.0.0.0/0 - namespaceSelector: {} - podSelector: {}Note
Şu anda düğüm IP'lerine trafik verilmesine izin verecek bir
NetworkPolicyveipBlockbelirleyemezsiniz.AKS, Cilium
daemonsetüzerinde CPU veya bellek sınırlarını yapılandırıyor mu?Hayır, Cilium, pod ağ iletişimi ve ağ politikası uygulama için kritik bir sistem bileşeni olduğundan AKS, Cilium'da
daemonsetCPU veya bellek sınırlarını yapılandırmaz.Cilium tarafından desteklenen Azure CNI Kube-Proxy kullanıyor mu?
Hayır, Cilium olarak ağ veri düzlemi ile oluşturulan AKS kümeleri Kube-Proxy kullanmaz. AKS kümeleri Azure CNI Katmanı veya Dinamik IP ayırmalı Azure CNI üzerindeyse ve Cilium tarafından desteklenen Azure CNI çalıştıran AKS kümelerine yükseltilirse, yeni düğüm iş yükleri kube-proxy olmadan oluşturulur. Eski iş yükleri de bu yükseltme işleminin bir parçası olarak kube-proxy olmadan çalışacak şekilde geçirilir.
Cilium tarafından desteklenen Azure CNI ile çift yığınlı ağ
Çift yığınlı AKS kümelerinizi Cilium tarafından desteklenen Azure CNI ile dağıtabilirsiniz. Bu, IPv6 trafiğinizi Cilium Ağ İlkesi altyapısıyla denetlemenize de olanak tanır.
Önemli
Kubernetes sürüm 1.29 veya üzeri olmalıdır.
Cilium tarafından desteklenen Azure CNI ile Katman kümelerini ayarlama
[az aks create][az-aks-create] komutunu kullanarak Azure CNI Katmanı ile bir küme oluşturun. Cilium veri düzlemini belirtmek için --network-dataplane cilium bağımsız değişkenini kullandığınızdan emin olun.
clusterName="myOverlayCluster"
resourceGroup="myResourceGroup"
location="westcentralus"
az aks create \
--name $clusterName \
--resource-group $resourceGroup \
--location $location \
--network-plugin azure \
--network-plugin-mode overlay \
--network-dataplane cilium \
--ip-families ipv4,ipv6 \
--generate-ssh-keys
Sonraki Adımlar
AKS'de ağ iletişimi hakkında daha fazla bilgi edinmek için aşağıdaki makalelere bakın: