Azure Kubernetes Service (AKS) kümesini yükseltme

AKS kümesi yaşam döngüsünün bir parçası, en son Kubernetes sürümüne düzenli güncelleştirmeler gerçekleştirmeyi içerir. En son güvenlik sürümlerini uygulamanız veya en son özellikleri almak için yükseltmeniz önemlidir. Bu makalede, bir AKS kümesindeki ana bileşenlerin veya tek bir varsayılan düğüm havuzunun nasıl yükseltileceğini gösterir.

birden çok düğüm havuzu veya Windows sunucu düğümü kullanan aks kümelerinde bkz. aks 'de düğüm havuzunu yükseltme.

Başlamadan önce

Bu makalede, Azure CLı sürüm 2.0.65 veya üstünü çalıştırıyor olmanız gerekir. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.

Uyarı

AKS kümesi yükseltmesi, düğümlerinizin bir eş ve drenajı tetikler. Kullanılabilir düşük bir işlem kotası varsa, yükseltme başarısız olabilir. Daha fazla bilgi için bkz. kotaları artırma

Kullanılabilir AKS kümesi yükseltmelerini denetle

Kümeniz için hangi Kubernetes sürümlerinin kullanılabilir olduğunu denetlemek için az aks Get-yükseltmeler komutunu kullanın. Aşağıdaki örnek Myresourcegroup Içinde Myakscluster için kullanılabilir yükseltmeleri denetler:

az aks get-upgrades --resource-group myResourceGroup --name myAKSCluster --output table

Not

Desteklenen bir AKS kümesini yükselttiğinizde, Kubernetes ikincil sürümleri atlanamaz. Tüm yükseltmelerin ana sürüm numarasına göre sıralı olarak gerçekleştirilmesi gerekir. Örneğin, 1.14. x -> 1.15. x veya 1.15. x -> 1.16. x arasındaki yükseltmelere izin verilir, ancak 1.14. x -> 1.16. x buna izin verilmez.

Birden çok sürüm atlanması, yalnızca Desteklenmeyen bir sürümden desteklenen bir sürüme yükseltilirken yapılabilir. Örneğin, desteklenmeyen bir 1,10. x --> desteklenen bir 1.15. x için bir yükseltme tamamlanabilir.

Aşağıdaki örnek çıktı, kümenin 1.19.1 ve 1.19.3 sürümlerine yükseltileceğini gösterir:

Name     ResourceGroup    MasterVersion    Upgrades
-------  ---------------  ---------------  --------------
default  myResourceGroup  1.18.10          1.19.1, 1.19.3

Kullanılabilir bir yükseltme yoksa şu iletiyi alırsınız:

ERROR: Table output unavailable. Use the --query option to specify an appropriate query. Use --debug for more info.

Düğüm aşırı gerilim yükseltmesini özelleştirme

Önemli

Düğüm dalgalanmalarına, her yükseltme işlemi için istenen en fazla aşırı gerilim sayısı için abonelik kotası gerekir. Örneğin, 5 düğüm havuzu olan, her birinde 4 düğüm sayısına sahip bir kümede toplam 20 düğüm vardır. Her düğüm havuzunda en fazla %50 bir aşırı gerilim değeri varsa, yükseltmeyi tamamlaması için 10 düğümün ek işlem ve IP kotası (2 düğüm * 5 havuz) gereklidir.

Azure CNı kullanıyorsanız, alt ağda kullanılabilir IP 'Lerin yanı sıra Azure CNI 'nin IP gereksinimlerini karşılayacakşekilde doğrulayın.

Varsayılan olarak, AKS, bir ek düğüm ile aşırı gerilim yükseltmeleri yapılandırır. En fazla aşırı gerilim ayarları için bir varsayılan değeri, eski bir sürümlü düğümü değiştirmek üzere mevcut uygulamaların eşinden önce ek bir düğüm oluşturarak iş yükü kesintisini en aza indirmek için AKS 'i etkinleştirir. Yükseltme hızı ve yükseltme kesintisi arasında bir denge sağlamak için, en fazla dalgalanma değeri düğüm havuzu başına özelleştirilebilir. En fazla dalgalanma değeri arttırılarak, yükseltme işlemi daha hızlı tamamlanır, ancak en fazla aşırı gerilim için büyük bir değer ayarlamak yükseltme işlemi sırasında kesintiler oluşmasına neden olabilir.

Örneğin, en fazla %100 bir dalgalanma değeri, olası en hızlı yükseltme işlemini (düğüm sayısı katlama) sağlar, ancak düğüm havuzundaki tüm düğümlerin aynı anda bırakılmasına neden olur. Ortamları test etmek için bu gibi daha yüksek bir değer kullanmak isteyebilirsiniz. Üretim düğüm havuzları için %33 max_surge bir ayar önerilir.

AKS, en fazla dalgalanma için hem tamsayı değerlerini hem de yüzde değerini kabul eder. "5" gibi bir tamsayı, aşırı yapılacak beş ek düğümü gösterir. "%50" değeri, havuzdaki geçerli düğüm sayısının yarısını bir dalgalanma değerini gösterir. En fazla dalgalanma yüzdesi değeri en az %1, en fazla %100 olabilir. Yüzde değeri en yakın düğüm sayısına yuvarlanır. En fazla dalgalanma değeri, yükseltme sırasında geçerli düğüm sayısından düşükse, en fazla dalgalanma değeri için geçerli düğüm sayısı kullanılır.

Yükseltme sırasında, en fazla dalgalanma değeri en az 1, düğüm havuzunuzdaki düğüm sayısına eşit bir en büyük değer olabilir. Daha büyük değerler ayarlayabilirsiniz, ancak en fazla dalgalanma için kullanılan en fazla düğüm sayısı, yükseltme sırasında havuzdaki düğüm sayısından daha yüksek olmayacaktır.

Önemli

Düğüm havuzundaki en fazla aşırı gerilim ayarı kalıcıdır. Sonraki Kubernetes yükseltmeleri veya düğüm sürümü yükseltmeleri, bu ayarı kullanır. Düğüm havuzlarınızın en fazla dalgalanma değerini istediğiniz zaman değiştirebilirsiniz. Üretim düğüm havuzları için %33 olan en fazla% ayarını öneririz.

Yeni veya var olan düğüm havuzları için en fazla dalgalanma değerlerini ayarlamak için aşağıdaki komutları kullanın.

# Set max surge for a new node pool
az aks nodepool add -n mynodepool -g MyResourceGroup --cluster-name MyManagedCluster --max-surge 33%
# Update max surge for an existing node pool 
az aks nodepool update -n mynodepool -g MyResourceGroup --cluster-name MyManagedCluster --max-surge 5

AKS kümesini yükseltme

AKS kümeniz için kullanılabilir sürümlerin bir listesi ile yükseltmek için az aks Upgrade komutunu kullanın. Yükseltme işlemi sırasında AKS 'ler şunları yapar:

  • Belirtilen Kubernetes sürümünü çalıştıran kümeye yeni bir arabellek düğümü (veya en fazla dalgalanmagöre yapılandırılan düğüm sayısı) ekleyin.
  • çalışan uygulamalar için kesintiyi en aza indirmek için eski düğümlerden birini beğenin (en fazla dalgalanma kullanıyorsanız, belirtilen arabellek düğümleri sayısıyla aynı anda çok sayıda düğüm olarak çalışır) .
  • Eski düğüm tamamen boşaltılırsa, yeni sürümü alacak şekilde yeniden görüntülenir ve aşağıdaki düğümün yükseltilmesi için arabellek düğümü olur.
  • Bu işlem, kümedeki tüm düğümler yükseltilene kadar yinelenir.
  • İşlemin sonunda, son arabellek düğümü silinecek, mevcut Aracı düğüm sayısı ve bölge bakiyesi korunacaktır.
az aks upgrade \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --kubernetes-version KUBERNETES_VERSION

Kaç tane düğüme sahip olduğunuza bağlı olarak, kümeyi yükseltmek birkaç dakika sürer.

Önemli

Herhangi PodDisruptionBudgets bir (pdb 'leri), en az 1 Pod çoğaltmasının tek seferde taşınmasına izin verildiğinden emin olun, aksi takdirde boşalt/çıkar işlemi başarısız olur. Boşaltma işlemi başarısız olursa, uygulamaların çökmemesini sağlamak için yükseltme işlemi tasarım tarafından başarısız olur. Lütfen işlemin durmasının ne olduğunu (yanlış pdb 'leri, kotanın olmaması vb.) düzeltin ve işlemi yeniden deneyin.

Yükseltmenin başarılı olduğunu doğrulamak için az aks Show komutunu kullanın:

az aks show --resource-group myResourceGroup --name myAKSCluster --output table

Aşağıdaki örnek çıktıda, kümenin artık 1.18.10 çalıştığını gösterilmektedir:

Name          Location    ResourceGroup    KubernetesVersion    ProvisioningState    Fqdn
------------  ----------  ---------------  -------------------  -------------------  ----------------------------------------------
myAKSCluster  eastus      myResourceGroup  1.18.10              Succeeded            myakscluster-dns-379cbbb9.hcp.eastus.azmk8s.io

Otomatik yükseltme kanalını ayarla

Bir kümeyi el ile yükseltmenin yanı sıra, kümenizde bir otomatik yükseltme kanalı da ayarlayabilirsiniz. Aşağıdaki yükseltme kanalları kullanılabilir:

Kanal Eylem Örnek
none Otomatik yükseltmeleri devre dışı bırakır ve kümeyi geçerli Kubernetes sürümünde tutar Değiştirilmemiş olarak bırakılırsa varsayılan ayar
patch ikincil sürümü aynı tutarken, kullanılabilir hale geldiğinde kümeyi desteklenen son düzeltme eki sürümüne otomatik olarak yükseltin. Örneğin, bir küme sürüm 1.17.7 çalıştırıyorsa ve 1.17.9, 1.18.4, 1.18.6 ve 1.19.1 sürümleri kullanılabiliyorsa, kümeniz 1.17.9 olarak yükseltilir.
stable kümeyi, alt sürüm n-1' deki en son desteklenen yama sürümüne otomatik olarak yükseltin, burada N desteklenen en son alt sürümdür. Örneğin, bir küme sürüm 1.17.7 çalıştırıyorsa ve 1.17.9, 1.18.4, 1.18.6 ve 1.19.1 sürümleri kullanılabiliyorsa, kümeniz 1.18.6 olarak yükseltilir.
rapid kümeyi desteklenen en son alt sürümde bulunan en son desteklenen yama sürümüne otomatik olarak yükseltin. Kümenin en son desteklenen alt sürüm olduğu n-2 alt sürümünde yer alan Kubernetes 'nin bir sürümünde olduğu durumlarda, küme ilk olarak n-1 alt sürümünde desteklenen en son düzeltme eki sürümüne yükseltir. Örneğin, bir küme sürüm 1.17.7 çalıştırıyorsa ve 1.17.9, 1.18.4, 1.18.6 ve 1.19.1 sürümleri kullanılabiliyorsa, kümeniz önce 1.18.6 olarak yükseltilir, sonra 1.19.1 olarak yükseltilir.
node-image düğüm görüntüsünü, kullanılabilir en son sürüme otomatik olarak yükseltin. Microsoft, görüntü düğümleri için sık yama ve yeni görüntüler sağlar (genellikle haftalık), ancak düğüm görüntüsü yükseltmesi yapmadığınız takdirde çalışan düğümleriniz yeni görüntüleri almaz. Düğüm görüntüsü kanalını açmak, yeni bir sürüm kullanılabilir olduğunda düğüm görüntülerinizi otomatik olarak güncelleştirir.

Not

Küme otomatik yükseltme yalnızca Kubernetes 'in GA sürümlerine güncelleştirmeler sağlar ve önizleme sürümleri için güncelleştirmeyecektir.

Bir kümeyi otomatik olarak yükseltme, bir kümeyi el ile yükseltirken aynı işlemi izler. Daha ayrıntılı bilgi için bkz. AKS kümesini yükseltme.

Bir küme oluştururken otomatik yükseltme kanalını ayarlamak için, aşağıdaki örneğe benzer şekilde otomatik yükseltme kanalı parametresini kullanın.

az aks create --resource-group myResourceGroup --name myAKSCluster --auto-upgrade-channel stable --generate-ssh-keys

Mevcut kümede otomatik yükseltme kanalını ayarlamak için, aşağıdaki örneğe benzer şekilde otomatik yükseltme kanalı parametresini güncelleştirin.

az aks update --resource-group myResourceGroup --name myAKSCluster --auto-upgrade-channel stable

Planlı bakım ile küme otomatik yükseltmesini kullanma

Planlı bakım ve otomatik yükseltme kullanıyorsanız, yükseltmeniz, belirtilen bakım pencereniz sırasında başlatılır. Planlı bakım hakkında daha fazla bilgi için bkz. Azure Kubernetes Service (AKS) kümeniz için bakım pencerelerini zamanlamak üzere planlı bakım kullanma (Önizleme).

Birden çok Kullanılabilirlik Alanları yayılan düğüm havuzlarının özel konuları

AKS, düğüm gruplarında en iyi efor bölge dengelemesini kullanır. Bir yükseltme dalgalanma sırasında, sanal makine ölçek kümelerinde aşırı gerilim düğümleri için bölge (ler) daha önce bilinmiyor. Bu, yükseltme sırasında dengesiz bölge yapılandırmasına geçici olarak neden olabilir. Ancak, yükseltme tamamlandıktan sonra AKS, aşırı gerilim düğümlerini siler ve özgün bölge bakiyesini korur. Yükseltme sırasında bölgelerinizi dengelenmesi gerekiyorsa, aşırı gerilim 3 düğümden oluşan birden fazla düğüme yükseltin. Sanal Makine Ölçek Kümeleri, daha sonra düğümlerinizi en iyi efor bölge dengelemesinden Kullanılabilirlik Alanları göre dengeleyebilir.

Azure LRS diskleri tarafından desteklenen PVC 'ler varsa, bunlar belirli bir bölgeye bağlanır ve aşırı gerilim düğümü PVC 'nin bölgesiyle eşleşmiyorsa hemen kurtarılamayabilir. Bu, yükseltme işlemi düğümleri boşaltmaya devam ettiğinde ancak PVs bir bölgeye bağlandığında uygulamanızda kesinti oluşmasına neden olabilir. Bu durumu işlemek ve yüksek kullanılabilirlik sağlamak için, uygulamanızda bir Pod kesinti bütçesi yapılandırın. Bu, Kubernetes 'in, yükseltmenin boşaltma işlemi sırasında kullanılabilirlik gereksinimlerinizi dikkate almasına olanak tanır.

Sonraki adımlar

Bu makalede var olan bir AKS kümesi nasıl yükseltildi? AKS kümelerini dağıtma ve yönetme hakkında daha fazla bilgi edinmek için öğretici kümesine bakın.