Aracılığıyla paylaş


Büyük AKS kümelerini çalıştırırken veya ölçeklendirirken sık karşılaşılan sorunlar hakkında SSS

Bu makalede, Microsoft Azure Kubernetes Service'te (AKS) büyük kümeleri çalıştırdığınızda veya ölçeklendirirken karşılaşabileceğiniz yaygın sorunlar hakkında sık sorulan sorular yanıtlanmaktadır. Büyük küme, 500 düğümlü ölçekten daha fazla çalışan herhangi bir kümedir.

Oluşturma, ölçeği artırma veya yükseltme sırasında "kota aşıldı" hatası alıyorum

Bu sorunu çözmek için, oluşturmaya, ölçeklendirmeye veya yükseltmeye çalıştığınız abonelikte bir destek isteği oluşturun ve ilgili kaynak türü için bir kota isteyin. Daha fazla bilgi için bkz . Bölgesel işlem kotaları.

Gelişmiş ağ kullanan bir AKS kümesi dağıttığımda "insufficientSubnetSize" hatası alıyorum

Bu hata, bir küme için kullanılan bir alt ağın, başarılı kaynak ataması için CIDR içinde artık kullanılabilir IP'lere sahip olmadığını gösterir. Bu sorun yükseltmeler, ölçek genişletmeleri veya düğüm havuzu oluşturma sırasında oluşabilir. Bu sorun, alt ağdaki boş IP sayısının aşağıdaki formülün sonucundan az olması nedeniyle oluşur:

istenen düğüm sayısı * düğüm havuzu --max-pod değeri

Önkoşullar

  • 400 düğümün ötesine ölçeklendirmek için Azure CNI ağ eklentisini kullanmanız gerekir.

  • Sanal ağınızı ve alt ağlarınızı dağıttığınız düğüm ve pod sayısına uyacak şekilde planlamaya yardımcı olmak için bkz . Kümenizin IP adreslerini planlama. IP tükenmesi nedeniyle yapabileceğiniz alt ağ planlaması veya küme yeniden oluşturma yükünü azaltmak için bkz . Dinamik IP ayırma.

Çözüm

Mevcut bir alt ağın CIDR aralığını güncelleştiremediğiniz için bu sorunu çözmek için yeni bir alt ağ oluşturma izniniz olmalıdır. Şu adımları izleyin:

  1. İşlem hedefleri için yeterli olan daha büyük bir CIDR aralığına sahip yeni bir alt ağı yeniden oluşturun.

  2. Çakışmayan yeni bir aralığa sahip yeni bir alt ağ oluşturun.

  3. Yeni alt ağda yeni bir düğüm havuzu oluşturun.

  4. Değiştirilecek eski alt ağda bulunan eski düğüm havuzundan podları boşaltın.

  5. Eski alt ağı ve eski düğüm havuzunu silin.

SNAT bağlantı noktası tükenmesi nedeniyle düzensiz çıkış bağlantı hataları yaşıyorum

Görece büyük bir ölçekte (500'den fazla düğüm) çalışan kümeler için daha fazla ölçeklenebilirlik için AKS Yönetilen Ağ Adresi Çevirisi (NAT) Ağ Geçidi'ni kullanmanızı öneririz. Azure NAT Gateway, IP adresi başına en fazla 64.512 giden UDP ve TCP trafik akışına ve en fazla 16 IP adresine izin verir.

Yönetilen NAT kullanmıyorsanız SNAT bağlantı noktası tükenme sorunlarını anlamak ve çözmek için bkz . Kaynak ağ adresi çevirisi (SNAT) tükenmesi ve bağlantı zaman aşımları sorunlarını giderme.

Azure portalını kullanarak 5.000 düğüme kadar ölçeği artıramıyorum

Azure CLI'yi kullanarak aşağıdaki adımları izleyerek en fazla 5.000 düğüme kadar ölçeklendirin:

  1. Aşağıdaki komutu çalıştırarak kümede en az sayıda düğüm havuzu oluşturun (düğüm havuzu düğümü üst sınırı 1.000 olduğundan):

    az aks nodepool add --resource-group MyResourceGroup --name nodepool1 --cluster-name MyManagedCluster
    
  2. Düğüm havuzlarının ölçeğini birer birer artırabilirsiniz. İdeal olarak, 1.000'in art arda ölçek artırmaları arasında beş dakikalık uyku süresi ayarlayın. Şu komutu çalıştırın:

    az aks nodepool scale --resource-group MyResourceGroup --name nodepool1 --cluster-name MyManagedCluster
    

Yükseltmem çalışıyor ama yavaş

Varsayılan yapılandırmasında AKS, yükseltme sırasında aşağıdaki eylemleri gerçekleştirerek atlar:

  • Yeni bir düğüm oluşturuluyor.
  • Düğüm havuzunu istenen düğüm sayısının ötesinde bir düğüme göre ölçeklendirme.

En yüksek dalgalanma ayarları için bir düğümün varsayılan değeri, AKS'nin mevcut uygulamaları boşaltmadan önce yeni bir düğüm oluşturduğu ve önceki sürüme sahip bir düğümü değiştirdiğini gösterir. Bu ek düğüm, AKS'nin iş yükü kesintilerini en aza indirmenize olanak tanır.

Çok sayıda düğümü olan kümeleri yükselttiğiniz zaman, varsayılan değerini max-surgekullanırsanız kümenin tamamını yükseltmek birkaç saat sürebilir. Yükseltme hızı ile yükseltme kesintisi max-surge arasında bir denge sağlamak için düğüm havuzu başına özelliğini özelleştirebilirsiniz. Maksimum artış değerini artırarak yükseltme işleminin daha erken bitebilmesini sağlarsınız. Ancak, en yüksek dalgalanma için büyük bir değer yükseltme işlemi sırasında kesintilere de neden olabilir.

Mevcut düğüm havuzunun en yüksek dalgalanmasını artırmak veya özelleştirmek için aşağıdaki komutu çalıştırın:

az aks nodepool update --resource-group MyResourceGroup --name mynodepool --cluster-name MyManagedCluster --max-surge 5

Dağıtım ayarlarınızın yükseltme veya ölçeklendirme işleminin tamamlanmasını nasıl geciktirebileceğini de göz önünde bulundurmanız önemlidir:

İpucu

Bu davranış hakkında daha fazla içgörü elde etmek için Azure portalındaki Etkinlik Günlüğü sayfasında hata ayrıntılarını görüntüleyebilir veya kümenizdeki kaynak günlüklerini gözden geçirebilirsiniz.

Yükseltmem kota (5.000 küme) sınırına ulaşıyor

Bu sorunu çözmek için bkz . Bölgesel vCPU kotalarını artırma.

750'den fazla düğümde iç hizmet oluşturma işlemim yavaş veya zaman aşımı hatası nedeniyle başarısız oluyor

Standart Load Balancer (SLB) arka uç havuzu güncelleştirmeleri bilinen performans sorunlarıdır. Büyük ölçekte hizmetlerin ve SLB'nin daha hızlı oluşturulmasını sağlayacak yeni bir özellik üzerinde çalışıyoruz. Bu sorun hakkında bize geri bildirim göndermek için bkz . IP tabanlı arka uç havuzu ile yük dengeleyici için Azure Kubernetes desteği.

Çözüm

Kümenin ölçeğini 750'den az düğüme azaltmanızı ve ardından küme için bir iç yük dengeleyici oluşturmanızı öneririz. İç yük dengeleyici oluşturmak için, aşağıdaki örnek yordama göre bir LoadBalancer hizmet türü ve azure-load-balancer-internal ek açıklama oluşturun.

1. Adım: İç yük dengeleyici oluşturma

İç yük dengeleyici oluşturmak için, aşağıdaki örnekte gösterildiği gibi internal-lb.yaml adlı ve hizmet türünü ve azure-load-balancer-internal ek açıklamasını içeren LoadBalancer bir hizmet bildirimi oluşturun:

apiVersion: v1
kind: Service
metadata:
  name: internal-app
  annotations:
    service.beta.kubernetes.io/azure-load-balancer-internal: "true"
spec:
  type: LoadBalancer
  ports:
  - port: 80
  selector:
    app: internal-app

2. Adım: İç yük dengeleyiciyi dağıtma

komutunu kullanarak iç yük dengeleyiciyi kubectl apply dağıtın ve aşağıdaki örnekte gösterildiği gibi YAML bildiriminizin adını belirtin:

kubectl apply -f internal-lb.yaml

Kümeniz oluşturulduktan sonra bir iç yük dengeleyici (bu yordama göre) sağlayabilir ve iç yük dengeli hizmeti çalışır durumda tutabilirsiniz. Bunu yaptığınızda yük dengeleyiciye uygun ölçekte daha fazla hizmet ekleyebilirsiniz.

Büyük ölçekte SLB hizmeti oluşturma işleminin çalıştırılması saatler sürer

SLB arka uç havuzu güncelleştirmeleri bilinen performans sorunlarıdır. Oluşturma, güncelleştirme ve silme işlemleri için çok daha hızlı performansla yük dengeli hizmetleri büyük ölçekte çalıştırmanıza olanak sağlayacak yeni bir özellik üzerinde çalışıyoruz. Bize geri bildirim göndermek için bkz . IP tabanlı arka uç havuzuna sahip yük dengeleyici için Azure Kubernetes desteği.

Üçüncü taraf bilgileri hakkında yasal uyarı

Bu makalede adı geçen üçüncü taraf ürünleri Microsoft'tan bağımsız şirketler tarafından üretilmektedir. Microsoft, bu ürünlerin performansı veya güvenilirliği ile ilgili örtük veya başka türlü hiçbir garanti vermez.

Yardım için bize ulaşın

Sorularınız veya yardıma ihtiyacınız varsa bir destek isteği oluşturun veya Azure topluluk desteği isteyin. Ürün geri bildirimini Azure geri bildirim topluluğuna da gönderebilirsiniz.