Aracılığıyla paylaş


Azure Kubernetes Service (AKS) kümeleri için yükseltme seçenekleri

Bu makalede AKS kümeleri için farklı yükseltme seçenekleri yer alır. Temel bir Kubernetes sürüm yükseltmesi gerçekleştirmek için bkz . AKS kümesini yükseltme.

Birden çok düğüm havuzu veya Windows Server düğümü kullanan AKS kümeleri için bkz . AKS'de düğüm havuzunu yükseltme. Kubernetes küme yükseltmesi yapmadan belirli bir düğüm havuzunu yükseltmek için bkz . Belirli bir düğüm havuzunu yükseltme.

El ile yükseltmeler gerçekleştirme

Kümenizin yeni bir Kubernetes sürümüne ne zaman yükseltebileceğini denetlemek için el ile yükseltmeler gerçekleştirebilirsiniz. El ile yükseltmeler, üretim kümenizi yükseltmeden önce yeni bir Kubernetes sürümünü test etmek istediğinizde kullanışlıdır. Ayrıca, kümenizi kullanılabilir en son sürüm olmayan belirli bir Kubernetes sürümüne yükseltmek için el ile yükseltmeleri de kullanabilirsiniz.

El ile yükseltme gerçekleştirmek için aşağıdaki makalelere bakın:

Otomatik yükseltmeleri yapılandırma

Kümenizi otomatik olarak kullanılabilir en son Kubernetes sürümüne yükseltmek için otomatik yükseltmeleri yapılandırabilirsiniz. Otomatik yükseltmeler, kümenizin her zaman en son Kubernetes sürümünü çalıştırdığından emin olmak istediğinizde kullanışlıdır. Kümenizin her zaman desteklenen bir Kubernetes sürümünü çalıştırdığından emin olmak için otomatik yükseltmeleri de kullanabilirsiniz.

Otomatik yükseltmeleri yapılandırmak için aşağıdaki makalelere bakın:

Birden çok kullanılabilirlik alanına yayılan düğüm havuzları için dikkat edilmesi gereken özel noktalar

AKS, düğüm gruplarında en iyi efor bölgesi dengelemesini kullanır. Yükseltme dalgalanması sırasında, Sanal Makine Ölçek Kümeleri'daki aşırı gerilim düğümlerinin bölgeleri önceden bilinmez ve bu da yükseltme sırasında geçici olarak dengesiz bir bölge yapılandırmasına neden olabilir. Ancak, yükseltme tamamlandıktan ve özgün bölge bakiyesini koruduğunda AKS, aşırı gerilim düğümlerini siler. Yükseltmeler sırasında bölgelerinizin dengeli kalmasını istiyorsanız, üç düğümün katlarına kadar artış sağlayabilir ve Sanal Makine Ölçek Kümeleri en iyi efor bölgesi dengelemesi ile düğümlerinizi kullanılabilirlik alanları arasında dengeleyebilirsiniz. En iyi efor bölgesi bakiyesiyle ölçek kümesi, dengeyi korurken ölçeği daraltmaya ve genişletmeye çalışır. Ancak, bir nedenden dolayı bu mümkün değilse (örneğin, bir bölge kapanırsa ölçek kümesi bu bölgede yeni bir VM oluşturamaz), ölçek kümesi geçici dengesizlik özelliğinin ölçeği başarıyla daraltmasına veya genişletmesine olanak tanır.

Azure yerel olarak yedekli depolama (LRS) Diskleri tarafından yedeklenen kalıcı birim talepleri (PVC) belirli bir bölgeye bağlıdır ve aşırı gerilim düğümü PVC'nin bölgesiyle eşleşmiyorsa hemen kurtarılamaz. Bölgeler eşleşmiyorsa, yükseltme işlemi düğümleri boşaltmaya devam ettiğinde ancak PV'ler bir bölgeye bağlı olduğunda uygulamanızda kapalı kalma süresine neden olabilir. Bu durumu işlemek ve yüksek kullanılabilirliği korumak için uygulamanızda Bir Pod Kesintisi Bütçesi yapılandırarak Kubernetes'in boşaltma işlemi sırasında kullanılabilirlik gereksinimlerinize uymasını sağlayın.

Çizilemez düğüm davranışı için iyileştirme (Önizleme)

Boşaltma hataları için yükseltme işlemi davranışını yapılandırabilirsiniz. Varsayılan yükseltme davranışı, Scheduleyükseltme işleminin başarısız olmasına neden olan ve çizilmemiş düğümleri zamanlanabilir durumda bırakan bir düğüm boşaltma hatasından oluşur. Alternatif olarak, boşaltılamayan Cordon düğümleri karantinaya alınmış duruma getirerek atlayan, etiketleyen kubernetes.azure.com/upgrade-status:Quarantinedve kalan düğümleri yükseltmeye devam eden davranışı seçebilirsiniz. Bu davranış, tüm düğümlerin yükseltilmesini veya karantinaya alınmasını sağlar. Bu yaklaşım, boşaltma hatalarını gidermenize ve karantinaya alınan düğümleri düzgün bir şekilde yönetmenize olanak tanır.

Yeni Cordon davranışını Nasıl yaparım? ayarladınız?

CLI önizlemesini kullanın ve 9.0.0b3 veya sonraki bir uzantıyı yükleyin aks-preview .

Uzantıyı güncelleştirmek veya yüklemek aks-preview için aşağıdaki komutları kullanabilirsiniz:

az extension update --name aks-preview
az extension add --name aks-preview

Düğüm havuzunun çizilemez düğüm davranışını olarak Cordongüncelleştirin:

az aks nodepool update --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --resource-group $RESOURCE_GROUP --max-surge 1 --undrainable-node-behavior Cordon

Aşağıdaki örnek çıktı, güncelleştirilen çizilemez düğüm davranışını gösterir:

"upgradeSettings": {
    "drainTimeoutInMinutes": null,
    "maxSurge": "1",
    "nodeSoakDurationInMinutes": null,
    "undrainableNodeBehavior": "Cordon"
  }

Engellenen düğümlerde etiketi doğrulayın. Yükseltmede aşağıdaki komutu kullanarak bir boşaltma düğümü hatası olduğunda:

kubectl get nodes --show-labels=true

Engellenen düğümler podlar için zamanlanmamıştır ve etiketiyle "kubernetes.azure.com/upgrade-status: Quarantined"işaretlenmiştir. Engellenmiş olarak bırakılabilir düğüm sayısı üst sınırı değerden Max-Surge fazla olamaz.

Engellenen düğümler Nasıl yaparım? kaldırılsın mı?

Önce boşaltmaya neden olan sorunu çözün. Aşağıdaki örnek sorumlu PDB'yi kaldırır:

kubectl delete pdb nginx-pdb
poddisruptionbudget.policy "nginx-pdb" deleted.

Ardından komutunu kullanarak az aks nodepool delete-machines engellenen düğümü silin. Bu komut, eski sürümlerde geride bırakılan düğümleri kaldırarak düğüm havuzu ayak izini azaltmayı amaçlıyorsanız kullanışlıdır.

az aks nodepool delete-machines --cluster-name MyCluster --machine-names aks-nodepool1-test123-vmss000000 --name nodepool1 --resource-group TestRG

Bu adımı tamamladıktan sonra, burada özetlenen isteğe bağlı alanlar olmadan herhangi bir güncelleştirme işlemi gerçekleştirerek küme durumunu mutabık kılabilirsiniz.

Örnek komut:

az aks update --resource-group TestRG --name MyCluster

Alternatif olarak, düğüm havuzunu yükseltilen düğüm sayısıyla aynı sayıda düğüme ölçeklendikleyebilirsiniz. Bu eylem, düğüm havuzunun hedeflenen özgün boyutuna ulaştığından emin olur. AKS, engellenen düğümlerin kaldırılmasına öncelik sağlar. Bu komut, küme sağlama durumunu da olarak Succeededgeri yükler. Verilen örnekte, 2 yükseltilen düğümlerin toplam sayısıdır.

az aks nodepool scale --resource-group TestRG --cluster-name MyCluster --name nodepool1 --node-count 2 

Performansı geliştirmek ve kesintileri en aza indirmek için yükseltmeleri iyileştirme

Planlı Bakım Penceresi, Maksimum Dalgalanma, Pod Kesinti Bütçesi, düğüm boşaltma zaman aşımı ve düğüm bekletme süresi birleşimi, bakım penceresinin sonunda düğüm yükseltmelerinin başarıyla tamamlanma olasılığını önemli ölçüde artırırken kesintileri de en aza indirir.

  • Planlı Bakım Penceresi , hizmet ekiplerinin iş yükü etkisini en aza indirmek için önceden tanımlanmış bir pencere (genellikle düşük trafikli bir dönem) sırasında otomatik yükseltme zamanlamasını sağlar. En az dört saatlik bir pencere süresi öneririz.
  • Düğüm havuzundaki Maksimum Artış, yükseltme işlemi sırasında ek kota istemeye olanak tanır ve aynı anda yükseltme için seçilen düğüm sayısını sınırlar. Daha yüksek bir maksimum artış, daha hızlı bir yükseltme işlemiyle sonuçlanır. Tüm düğümleri aynı anda yükselterek çalışan uygulamalarda kesintilere neden olabileceği için %100 olarak ayarlanması önerilmez. Üretim düğümü havuzları için maksimum % 33 artış kotası öneririz.
  • Pod Kesintisi Bütçesi , hizmet uygulamaları için ayarlanır ve AKS denetimli düğüm yükseltmeleri gibi gönüllü kesintiler sırasında kapanabilecek pod sayısını sınırlar. Bu, etkin olması gereken uygulama podlarının en az sayısını veya maxUnavailable çoğaltmaları belirten, sonlandırılabilir uygulama podlarının maksimum sayısını gösteren ve uygulama için yüksek kullanılabilirlik sağlayan çoğaltmalar olarak minAvailable yapılandırılabilir. Pod Kesintisi Bütçelerini (PDB) yapılandırmak için sağlanan kılavuza bakın. PdB değerleri, hizmetiniz için en uygun ayarları belirlemek üzere doğrulanmalıdır.
  • Düğüm havuzundaki düğüm boşaltma zaman aşımı , bir yükseltme sırasında düğüm başına podların çıkarılması ve düzgün sonlandırma için bekleme süresini yapılandırmanıza olanak tanır. Bu seçenek, uzun süre çalışan iş yükleriyle ilgilenirken kullanışlıdır. Düğüm boşaltma zaman aşımı belirtildiğinde (dakika cinsinden), AKS pod kesintisi bütçelerini beklemeye dikkat eder. Belirtilmezse, varsayılan zaman aşımı 30 dakikadır.
  • Düğüm bekletme süresi , düğüm yükseltmelerini kontrollü bir şekilde kademelendirin ve yükseltme sırasında uygulama kapalı kalma süresini en aza indirgeyebilir. Düğüm yükseltmeleri arasındaki uygulama hazırlığını denetlemek için tercihen 0 dakikaya yakın bir bekleme süresi belirtebilirsiniz. Belirtilmezse, varsayılan değer 0 dakikadır. Düğüm bekletme süresi, yükseltme hızı ve uygulama kullanılabilirliği açısından doğru sonuçları sağlamak için düğüm havuzundaki maksimum dalgalanma ve düğüm boşaltma zaman aşımı özellikleriyle birlikte çalışır.

Sonraki adımlar

Bu makalede AKS kümeleri için farklı yükseltme seçenekleri listelenmiştir. Yükseltme en iyi yöntemleri ve diğer önemli noktalar hakkında ayrıntılı bilgi için bkz . AKS düzeltme eki ve yükseltme kılavuzu.