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'te (AKS) yapılandırma
kube-proxy , Kubernetes'in küme içindeki hizmetler için yönlendirme trafiğini işleyen bir bileşenidir. Yukarı akışta kube-proxy Katman 3/4 yük dengeleme için üç arka uç vardır: iptables, IPVS ve nftables.
-
iptables, birçok Kubernetes kümesinde kullanılan varsayılan arka uçdur. Basit ve iyi destekleniyor, ancakIPVSkadar verimli veya akıllı değildir. -
IPVSLinux çekirdeğinde yerleşik olarak bulunan katman 3/4 yük dengeleyici olan Linux Sanal Sunucusu'nu kullanır.IPVSdurum tanıma, bağlantı izleme ve daha akıllı yük dengeleme gibi varsayılaniptablesyapılandırmaya göre birçok avantaj sağlar.IPVSAzure Ağ İlkesi'ni desteklemez. -
nftables,iptablesAPI'nin ardılıdır veiptables'den daha iyi performans ve ölçeklenebilirlik sağlamak için tasarlanmıştır. Proxynftablesmodu, hemiptableshem deIPVSmodlarının yerine geçen, her ikisinden daha iyi performansa sahip olan bir moddur veIPVSkullanılması yerine önerilir.
Daha fazla bilgi için kube-proxy'de Kubernetes belgelerine bakın.
Not
kube-proxy özelliğini desteklemek için AKS tarafından yönetilen DaemonSet öğesini devre dışı bırakabilirsiniz.
Önemli
AKS önizleme özellikleri self servis ve kabul temelinde kullanılabilir. Önizlemeler "olduğu gibi" ve "kullanılabilir" olarak sağlanır ve hizmet düzeyi sözleşmelerinin ve sınırlı garantinin dışında tutulur. AKS önizlemeleri, müşteri desteği tarafından kısmen imkanlar dahilinde 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:
Başlamadan önce
- Azure CLI kullanıyorsanız uzantıya
aks-previewihtiyacınız vardır. Bkz. Azure CLI uzantısınıaks-previewyükleme. - Azure Resource Manager veya REST API kullanıyorsanız AKS API sürümü 2022-08-02-preview veya üzeri olmalıdır. Özellikle
nftablesmodu için, sürüm 2025-09-02-preview veya daha yeni olmalıdır. - Özellik bayrağını
KubeProxyConfigurationPreviewkaydetmeniz gerekir.KubeProxyConfigurationPreviewkısmına bkz.
Azure CLI uzantısını aks-preview yükleme
aks-previewkomutunu kullanarakaz extension adduzantısını yükleyin.az extension add --name aks-previewkomutunu kullanarak uzantının en son sürümüne güncelleştirin
az extension update.az extension update --name aks-preview
Özellik bayrağını KubeProxyConfigurationPreview kaydetme
KubeProxyConfigurationPreviewözellik bayrağını,az feature registerkomutunu kullanarak kaydedin.az feature register --namespace "Microsoft.ContainerService" --name "KubeProxyConfigurationPreview"Durumun Kayıtlı olarak gösterilmesi birkaç dakika sürer.
komutunu kullanarak
az feature showkayıt durumunu doğrulayın.az feature show --namespace "Microsoft.ContainerService" --name "KubeProxyConfigurationPreview"Durum Kaydedildi olarak gösterildiğinde,
az provider registerkomutunu kullanarakMicrosoft.ContainerServicekaynak sağlayıcısının kaydını yenileyin.az provider register --namespace Microsoft.ContainerService
kube-proxy yapılandırma seçenekleri
AKS Küme Şeması'nda kube-proxytam yapılandırma yapısını görüntüleyebilirsiniz.
-
enabled: DaemonSet dağıtımınıkube-proxybelirler. varsayılan değeridirtrue. -
mode:IPTABLES,IPVSveyaNFTABLESolarak ayarlayabilirsiniz. varsayılan değeridirIPTABLES. -
ipvsConfig: isemodeIPVS, bu nesne IPVS'ye özgü yapılandırma özelliklerini içerir.-
scheduler: Hangi bağlantı zamanlayıcının kullanılacağını belirler. Desteklenen değerler şunlardır:-
LeastConnection: En az bağlantı içeren arka uç podlarına bağlantı gönderir. -
RoundRobin: Bağlantıları arka uç podları arasında eşit olarak dağıtır.
-
-
tcpFinTimeoutSeconds: TCP oturumu bir FIN aldıktan sonra zaman aşımı uzunluğu değerini ayarlar. -
tcpTimeoutSeconds: Boşta tcp oturumları için zaman aşımı uzunluğu değerini ayarlar. -
udpTimeoutSeconds: Boşta udp oturumları için zaman aşımı uzunluğu değerini ayarlar.
-
IPVS yük dengeleme her düğümde bağımsız olarak çalışır ve yalnızca yerel düğüm üzerinden akan bağlantıların farkındadır. Bu, daha fazla sayıda bağlantı altında daha eşit bir yüke neden olsa LeastConnection da, düşük sayıda bağlantı gerçekleştiğinde (# connects < 2 * node count ) trafiğin dengesiz hale gelebileceği anlamına gelir.
Yeni veya mevcut bir AKS kümesinde kube-proxy kullanın.
Yapılandırma kube-proxy , küme genelinde bir ayardır. Hizmetlerinizi güncelleştirmeniz gerekmez.
Yapılandırmada kube-proxy yapılan bir değişiklik, küme hizmeti trafik akışında küçük bir kesintiye neden olabilir.
İstenen
kube-proxyyapılandırmayla bir yapılandırma dosyası oluşturun.IPVS: Örneğin, aşağıdaki yapılandırma zamanlayıcı ileIPVSetkinleştirirLeastConnectionve TCP zaman aşımını 900 saniye olarak ayarlar.{ "enabled": true, "mode": "IPVS", "ipvsConfig": { "scheduler": "LeastConnection", "tcpTimeoutSeconds": 900, "tcpFinTimeoutSeconds": 120, "udpTimeoutSeconds": 300 } }nftables: Örneğin, aşağıdaki yapılandırma modu etkinleştirirnftables.{ "enabled": true, "mode": "NFTABLES" }
Veya
az aks createkomutlarını kullanarak yeni bir küme oluşturun veya mevcut bir kümeyi yapılandırma dosyasıyla güncelleştirinaz aks update.--kube-proxy-configYapılandırma dosyasını belirtmek için parametresini kullanın.# Create a new cluster az aks create \ --resource-group <resourceGroup> \ --name <clusterName> \ --kube-proxy-config kube-proxy.json \ --generate-ssh-keys # Update an existing cluster az aks update \ --resource-group <resourceGroup> \ --name <clusterName> \ --kube-proxy-config kube-proxy.json
Sonraki adımlar
Bu makalede Azure Kubernetes Service'te (AKS) yapılandırma kube-proxy açıklanmıştır. AKS'de yük dengeleme hakkında daha fazla bilgi edinmek için aşağıdaki makalelere bakın: