Azure Kubernetes Service (AKS) kümesini yükseltmeUpgrade an Azure Kubernetes Service (AKS) cluster

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.Part of the AKS cluster lifecycle involves performing periodic upgrades to the latest Kubernetes version. En son güvenlik sürümlerini uygulamanız veya en son özellikleri almak için yükseltmeniz önemlidir.It is important you apply the latest security releases, or upgrade to get the latest features. Bu makalede, bir AKS kümesindeki ana bileşenlerin veya tek bir varsayılan düğüm havuzunun nasıl yükseltileceğini gösterir.This article shows you how to upgrade the master components or a single, default node pool in an AKS cluster.

Birden çok düğüm havuzu veya Windows Server düğümü kullanan AKS kümelerinde bkz. aks 'de düğüm havuzunu yükseltme.For AKS clusters that use multiple node pools or Windows Server nodes, see Upgrade a node pool in AKS.

Başlamadan önceBefore you begin

Bu makalede, Azure CLı sürüm 2.0.65 veya üstünü çalıştırıyor olmanız gerekir.This article requires that you are running the Azure CLI version 2.0.65 or later. Sürümü bulmak için az --version komutunu çalıştırın.Run az --version to find the version. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.If you need to install or upgrade, see Install Azure CLI.

Uyarı

AKS kümesi yükseltmesi, düğümlerinizin bir eş ve drenajı tetikler.An AKS cluster upgrade triggers a cordon and drain of your nodes. Kullanılabilir düşük bir işlem kotası varsa, yükseltme başarısız olabilir.If you have a low compute quota available, the upgrade may fail. Daha fazla bilgi için bkz. kotaları artırmaFor more information, see increase quotas

Kullanılabilir AKS kümesi yükseltmelerini denetleCheck for available AKS cluster upgrades

Kümeniz için hangi Kubernetes sürümlerinin kullanılabilir olduğunu denetlemek için az aks Get-yükseltmeler komutunu kullanın.To check which Kubernetes releases are available for your cluster, use the az aks get-upgrades command. Aşağıdaki örnek Myresourcegroup Içinde Myakscluster için kullanılabilir yükseltmeleri denetler:The following example checks for available upgrades to myAKSCluster in myResourceGroup:

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.When you upgrade a supported AKS cluster, Kubernetes minor versions cannot be skipped. Tüm yükseltmelerin ana sürüm numarasına göre sıralı olarak gerçekleştirilmesi gerekir.All upgrades must be performed sequentially by major version number. Ö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.For example, upgrades between 1.14.x -> 1.15.x or 1.15.x -> 1.16.x are allowed, however 1.14.x -> 1.16.x is not allowed.

Birden çok sürüm atlanması, yalnızca Desteklenmeyen bir sürümden desteklenen bir sürüme yükseltilirken yapılabilir.Skipping multiple versions can only be done when upgrading from an unsupported version back to a supported version. Örneğin, desteklenmeyen bir 1,10. x --> desteklenen bir 1.15. x için bir yükseltme tamamlanabilir.For example, an upgrade from an unsupported 1.10.x --> a supported 1.15.x can be completed.

Aşağıdaki örnek çıktı, kümenin 1.19.1 ve 1.19.3 sürümlerine yükseltileceğini gösterir:The following example output shows that the cluster can be upgraded to versions 1.19.1 and 1.19.3:

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:If no upgrade is available, you will get the message:

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ştirmeCustomize node surge upgrade

Ö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.Node surges require subscription quota for the requested max surge count for each upgrade operation. Ö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.For example, a cluster that has 5 node pools, each with a count of 4 nodes, has a total of 20 nodes. 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.If each node pool has a max surge value of 50%, additional compute and IP quota of 10 nodes (2 nodes * 5 pools) is required to complete the upgrade.

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.If using Azure CNI, validate there are available IPs in the subnet as well to satisfy IP requirements of Azure CNI.

Varsayılan olarak, AKS, bir ek düğüm ile aşırı gerilim yükseltmeleri yapılandırır.By default, AKS configures upgrades to surge with one additional node. 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.A default value of one for the max surge settings will enable AKS to minimize workload disruption by creating an additional node before the cordon/drain of existing applications to replace an older versioned node. 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.The max surge value may be customized per node pool to enable a trade-off between upgrade speed and upgrade disruption. 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.By increasing the max surge value, the upgrade process completes faster, but setting a large value for max surge may cause disruptions during the upgrade process.

Ö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.For example, a max surge value of 100% provides the fastest possible upgrade process (doubling the node count) but also causes all nodes in the node pool to be drained simultaneously. Ortamları test etmek için bu gibi daha yüksek bir değer kullanmak isteyebilirsiniz.You may wish to use a higher value such as this for testing environments. Üretim düğüm havuzları için %33 max_surge bir ayar önerilir.For production node pools, we recommend a max_surge setting of 33%.

AKS, en fazla dalgalanma için hem tamsayı değerlerini hem de yüzde değerini kabul eder.AKS accepts both integer values and a percentage value for max surge. "5" gibi bir tamsayı, aşırı yapılacak beş ek düğümü gösterir.An integer such as "5" indicates five additional nodes to surge. "%50" değeri, havuzdaki geçerli düğüm sayısının yarısını bir dalgalanma değerini gösterir.A value of "50%" indicates a surge value of half the current node count in the pool. En fazla dalgalanma yüzdesi değeri en az %1, en fazla %100 olabilir.Max surge percent values can be a minimum of 1% and a maximum of 100%. Yüzde değeri en yakın düğüm sayısına yuvarlanır.A percent value is rounded up to the nearest node count. 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.If the max surge value is lower than the current node count at the time of upgrade, the current node count is used for the max surge value.

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.During an upgrade, the max surge value can be a minimum of 1 and a maximum value equal to the number of nodes in your node pool. 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.You can set larger values, but the maximum number of nodes used for max surge won't be higher than the number of nodes in the pool at the time of upgrade.

Önemli

Düğüm havuzundaki en fazla aşırı gerilim ayarı kalıcıdır.The max surge setting on a node pool is permanent. Sonraki Kubernetes yükseltmeleri veya düğüm sürümü yükseltmeleri, bu ayarı kullanır.Subsequent Kubernetes upgrades or node version upgrades will use this setting. Düğüm havuzlarınızın en fazla dalgalanma değerini istediğiniz zaman değiştirebilirsiniz.You may change the max surge value for your node pools at any time. Üretim düğüm havuzları için %33 olan en fazla% ayarını öneririz.For production node pools, we recommend a max-surge setting of 33%.

Yeni veya var olan düğüm havuzları için en fazla dalgalanma değerlerini ayarlamak için aşağıdaki komutları kullanın.Use the following commands to set max surge values for new or existing node pools.

# 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ükseltmeUpgrade an AKS cluster

AKS kümeniz için kullanılabilir sürümlerin bir listesi ile yükseltmek için az aks Upgrade komutunu kullanın.With a list of available versions for your AKS cluster, use the az aks upgrade command to upgrade. Yükseltme işlemi sırasında AKS 'ler şunları yapar:During the upgrade process, AKS will:

  • 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.add a new buffer node (or as many nodes as configured in max surge) to the cluster that runs the specified Kubernetes version.
  • ç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) .cordon and drain one of the old nodes to minimize disruption to running applications (if you're using max surge it will cordon and drain as many nodes at the same time as the number of buffer nodes specified).
  • 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.When the old node is fully drained, it will be reimaged to receive the new version and it will become the buffer node for the following node to be upgraded.
  • Bu işlem, kümedeki tüm düğümler yükseltilene kadar yinelenir.This process repeats until all nodes in the cluster have been upgraded.
  • İşlemin sonunda, son arabellek düğümü silinecek, mevcut Aracı düğüm sayısı ve bölge bakiyesi korunacaktır.At the end of the process, the last buffer node will be deleted, maintaining the existing agent node count and zone balance.
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.It takes a few minutes to upgrade the cluster, depending on how many nodes you have.

Ö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.Ensure that any PodDisruptionBudgets (PDBs) allow for at least 1 pod replica to be moved at a time otherwise the drain/evict operation will fail. 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.If the drain operation fails, the upgrade operation will fail by design to ensure that the applications are not disrupted. Lütfen işlemin durmasının ne olduğunu (yanlış pdb 'leri, kotanın olmaması vb.) düzeltin ve işlemi yeniden deneyin.Please correct what caused the operation to stop (incorrect PDBs, lack of quota, and so on) and re-try the operation.

Yükseltmenin başarılı olduğunu doğrulamak için az aks Show komutunu kullanın:To confirm that the upgrade was successful, use the az aks show command:

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:The following example output shows that the cluster now runs 1.18.10:

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ı ayarlaSet auto-upgrade channel

Bir kümeyi el ile yükseltmenin yanı sıra, kümenizde bir otomatik yükseltme kanalı da ayarlayabilirsiniz.In addition to manually upgrading a cluster, you can set an auto-upgrade channel on your cluster. Aşağıdaki yükseltme kanalları kullanılabilir:The following upgrade channels are available:

KanalChannel EylemAction ÖrnekExample
none Otomatik yükseltmeleri devre dışı bırakır ve kümeyi geçerli Kubernetes sürümünde tutardisables auto-upgrades and keeps the cluster at its current version of Kubernetes Değiştirilmemiş olarak bırakılırsa varsayılan ayarDefault setting if left unchanged
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.automatically upgrade the cluster to the latest supported patch version when it becomes available while keeping the minor version the same. Ö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.For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.17.9
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.automatically upgrade the cluster to the latest supported patch release on minor version N-1, where N is the latest supported minor version. Ö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.For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster is upgraded to 1.18.6.
rapid kümeyi desteklenen en son alt sürümde bulunan en son desteklenen yama sürümüne otomatik olarak yükseltin.automatically upgrade the cluster to the latest supported patch release on the latest supported minor version. 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.In cases where the cluster is at a version of Kubernetes that is at an N-2 minor version where N is the latest supported minor version, the cluster first upgrades to the latest supported patch version on N-1 minor version. Ö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.For example, if a cluster is running version 1.17.7 and versions 1.17.9, 1.18.4, 1.18.6, and 1.19.1 are available, your cluster first is upgraded to 1.18.6, then is upgraded to 1.19.1.

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.Cluster auto-upgrade only updates to GA versions of Kubernetes and will not update to preview versions.

Bir kümeyi otomatik olarak yükseltme, bir kümeyi el ile yükseltirken aynı işlemi izler.Automatically upgrading a cluster follows the same process as manually upgrading a cluster. Daha ayrıntılı bilgi için bkz. AKS kümesini yükseltme.For more details, see Upgrade an AKS cluster.

AKS kümeleri için küme otomatik yükseltmesi bir önizleme özelliğidir.The cluster auto-upgrade for AKS clusters is a preview feature.

Önemli

AKS Önizleme özellikleri self servis, kabul etme esasına göre sunulmaktadır.AKS preview features are available on a self-service, opt-in basis. Önizlemeler "olduğu gibi" ve "kullanılabilir olarak" verilmiştir ve hizmet düzeyi anlaşmalarından ve sınırlı garantiden çıkarılır.Previews are provided "as is" and "as available," and they're excluded from the service-level agreements and limited warranty. AKS önizlemeleri, müşteri desteği tarafından kısmen bir en iyi performans kapsamında ele alınmıştır.AKS previews are partially covered by customer support on a best-effort basis. Bu nedenle, bu özellikler üretim kullanımı için tasarlanmamıştır.As such, these features aren't meant for production use. AKS Önizleme özellikleri Azure Kamu veya Azure Çin 21Vianet bulutlarında kullanılamaz.AKS preview features aren't available in Azure Government or Azure China 21Vianet clouds. Daha fazla bilgi için aşağıdaki destek makalelerine bakın:For more information, see the following support articles:

AutoUpgradePreviewAşağıdaki örnekte gösterildiği gibi, az Feature Register komutunu kullanarak özellik bayrağını kaydedin:Register the AutoUpgradePreview feature flag by using the az feature register command, as shown in the following example:

az feature register --namespace Microsoft.ContainerService -n AutoUpgradePreview

Durumun kayıtlı gösterilmesi birkaç dakika sürer.It takes a few minutes for the status to show Registered. Az Feature List komutunu kullanarak kayıt durumunu doğrulayın:Verify the registration status by using the az feature list command:

az feature list -o table --query "[?contains(name, 'Microsoft.ContainerService/AutoUpgradePreview')].{Name:name,State:properties.state}"

Hazırlandığınızda, az Provider Register komutunu kullanarak Microsoft. Containerservice kaynak sağlayıcısı kaydını yenileyin:When ready, refresh the registration of the Microsoft.ContainerService resource provider by using the az provider register command:

az provider register --namespace Microsoft.ContainerService

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.To set the auto-upgrade channel when creating a cluster, use the auto-upgrade-channel parameter, similar to the following example.

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.To set the auto-upgrade channel on existing cluster, update the auto-upgrade-channel parameter, similar to the following example.

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

Sonraki adımlarNext steps

Bu makalede, mevcut bir AKS kümesini nasıl yükselteceğiniz açıklanır.This article showed you how to upgrade an existing AKS cluster. AKS kümelerini dağıtma ve yönetme hakkında daha fazla bilgi için bkz. öğreticiler kümesi.To learn more about deploying and managing AKS clusters, see the set of tutorials.