Öğretici - Azure Kubernetes Service (AKS) kümesini yükseltme

Uygulama ve küme yaşam döngüsünün bir parçası olarak Kubernetes'in kullanılabilir en son sürümüne yükseltmek isteyebilirsiniz. Azure CLI, Azure PowerShell veya Azure portalını kullanarak Azure Kubernetes Service (AKS) kümenizi yükseltebilirsiniz.

Bu öğreticide bir AKS kümesini yükseltiyorsunuz. Şunları yapmayı öğreneceksiniz:

  • Geçerli ve kullanılabilir Kubernetes sürümlerini belirleyin.
  • Kubernetes düğümlerinizi yükseltin.
  • Başarılı bir yükseltmeyi doğrulayın.

Başlamadan önce

Önceki öğreticilerde bir uygulamayı kapsayıcı görüntüsüne paketlediyseniz ve kapsayıcı görüntüsünü Azure Container Registry'ye (ACR) yüklemişsinizdir. Ayrıca bir AKS kümesi oluşturdunuz ve bu kümeye bir uygulama dağıttınız. Bu adımları tamamlamadıysanız ve takip etmek istiyorsanız , Öğretici 1 - AKS için uygulama hazırlama ile başlayın.

Azure CLI kullanılıyorsa bu öğretici için Azure CLI sürüm 2.34.1 veya üzeri gerekir. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekiyorsa bkz. Azure CLI'yı yükleme.

Azure PowerShell kullanılıyorsa bu öğretici için Azure PowerShell sürüm 5.9.0 veya üzeri gerekir. Sürümü bulmak için Get-InstalledModule -Name Az komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekiyorsa bkz. Azure PowerShell'i yükleme.

AKS kümesini yükseltmek için Azure Kubernetes Service Katkıda Bulunan rolüne veya eşdeğer izinlere sahip olmanız gerekir.

Yükseltmeden önce, hataya neden olan değişiklikler ve kullanım dışı API'ler için AKS sürüm notlarını gözden geçirin. Ayrıca iş yükünüzün Pod Kesinti bütçelerini (PDB), kullanılabilir işlem kotasını ve aşırı gerilim düğümleri için alt ağ IP kapasitesini doğrulayın. Daha fazla bilgi için bkz . AKS kümeleri için yükseltme seçenekleri ve önerileri.

Azure CLI kullanarak kullanılabilir küme sürümlerini alma

Yükseltmeden önce, az aks get-upgrades komutunu kullanarak kümeniz için hangi Kubernetes sürümlerinin kullanılabilir olduğunu kontrol edin.

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

Aşağıdaki örnek çıktı, bir kümenin geçerli sürümünü gösterir ve altında upgradesdaha yeni sürümleri listeler:

  {
    "agentPoolProfiles": null,
    "controlPlaneProfile": {
      "kubernetesVersion": "1.33.7",
      ...
      "upgrades": [
        {
          "isPreview": null,
          "kubernetesVersion": "1.34.10"
        },
        {
          "isPreview": null,
          "kubernetesVersion": "1.34.9"
        }
      ]
    },
    ...
  }

Azure PowerShell kullanarak kullanılabilir küme sürümlerini alma

  1. Yükseltmeden önce cmdlet'ini kullanarak Get-AzAksCluster kümenizin geçerli Kubernetes sürümünü ve bölgesini denetleyin.

    Get-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster |
      Select-Object -Property Name, CurrentKubernetesVersion, Location
    

    Aşağıdaki örnek çıktıda kümenin geçerli sürümü ve konumu gösterilmektedir:

    Name              CurrentKubernetesVersion      Location
    ----              ------------------------      --------
    myAKSCluster      1.33.7                        westus2
    
  2. cmdlet'ini kullanarak Get-AzAksVersion kümenizin bulunduğu bölgede kullanılabilen Kubernetes sürümlerini listeleyin.

    Get-AzAksVersion -Location westus2 | Where-Object OrchestratorVersion
    

    Aşağıdaki örnek çıktı, OrchestratorVersion altında bölgesel sürümleri gösterir:

    Default     IsPreview     OrchestratorType     OrchestratorVersion
    -------     ---------     ----------------     -------------------
                              Kubernetes               1.34.10
                              Kubernetes               1.34.9
    True                      Kubernetes               1.33.7
    ...
    

    Olası yükseltme hedeflerini belirlemek için kümenizin geçerli sürümünden daha yeni sürümleri Kubernetes sürüm yükseltme kurallarıyla karşılaştırın. Bu cmdlet bölgesel kullanılabilirliği listeler ve belirli bir küme için yükseltme yolunu doğrulamaz.

Azure portalını kullanarak kullanılabilir küme sürümlerini alma

  1. Azure portalınaoturum açın.

  2. AKS küme kaynağınıza gidin.

  3. Hizmet menüsündeki Ayarlar'ın altında Yükseltmeler'i seçin.

  4. Kubernetes sürümüne göreSürümü yükselt'i seçin.

    Azure portalında Sürümü yükselt seçeneğinin ekran görüntüsü.

  5. Yükseltilebilir Kubernetes sürümlerini görüntülemek için, Kubernetes Sürümü açılır listesini Kubernetes sürümünü yükselt sayfasında seçin.

    Kullanılabilir yükseltme sürümlerini içeren Yükseltme sürümü ekranının ekran görüntüsü.

Kullanılabilir yükseltme yoksa, kümeniz zaten en son kullanılabilir sürümde olabilir veya küme sürümü destek penceresinin dışında olabilir. Sürüm desteklenmiyorsa ve AKS kurtarma yükseltmesi sunmuyorsa, desteklenen bir Kubernetes sürümüne sahip yeni bir küme oluşturun ve iş yüklerinizi geçirin. Daha fazla bilgi için bkz. Kubernetes sürümleri için AKS destek ilkeleri.

AKS kümesi yükseltme işlemi

AKS düğümleri, çalışan uygulamalarda olası kesintileri en aza indirmek için dikkatlice kordonlanır ve boşaltılır. Bu işlem sırasında AKS aşağıdaki adımları gerçekleştirir:

  • Belirtilen Kubernetes sürümünü çalıştıran kümeye yeni bir tampon düğümü (veya en yüksek artışta yapılandırılan sayıda düğüm) ekler.
  • Çalışan uygulamalarda kesintiyi en aza indirmek için eski düğümlerden birini kordon altına alın ve boşaltın. Eğer en yüksek dalgalanmayı kullanıyorsanız, belirtilen arabellek düğümü sayısına göre aynı anda çok sayıda düğümü kordonlar ve boşaltır.
  • Eski düğüm tamamen boşaltıldığında, yeni sürümü almak üzere yeniden oluşturulur ve yükseltilecek aşağıdaki düğümün arabellek düğümü olur.
  • Kümedeki tüm düğümler yükseltilene kadar bu işlem yineler.
  • İşlemin sonunda, mevcut aracı düğümü sayısı ve bölge dengesi korunarak son arabellek düğümü silinir.

Note

Herhangi bir düzeltme eki belirtilmezse, küme otomatik olarak belirtilen ikincil sürümün en son GA düzeltme ekine yükseltilir. Örneğin, --kubernetes-version ayarı 1.28 olarak ayarlanırsa, küme 1.28.9 sürümüne yükselir.

Daha fazla bilgi için bkz. AKS'de desteklenen Kubernetes ikincil sürüm yükseltmeleri.

Kümenizi el ile yükseltebilir veya otomatik küme yükseltmelerini yapılandırabilirsiniz. Kümenizi desteklenen bir Kubernetes sürümünde tutmaya yardımcı olmak için otomatik küme yükseltmelerini yapılandırın.

Azure CLI kullanarak kümeyi el ile yükseltme

komutunu kullanarak kümenizi yükseltin az aks upgrade . Bu örnek, kümeyi 1.34.10 sürümüne yükseltmektedir:

az aks upgrade \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --kubernetes-version 1.34.10

Note

Desteklenen LTS olmayan kümeler ikincil sürüme göre sıralı olarak yükseltilmelidir. Örneğin, 1.33.x'ten1.35.x'e yükseltmek için önce 1.34.x sürümüne yükseltin. Bir LTS kümesi, yükseltme sürüm uyumsuzluğu gereksinimlerini ve doğrulama kontrollerini karşılıyorsa, AKS tarafından sunulan daha yüksek bir LTS sürümüne geçerken ara sürümleri atlayabilir. Daha fazla bilgi için bkz. Kubernetes sürüm yükseltme kuralları.

Aşağıdaki örnek çıktı yükseltmenin sonucunu gösterir. Değer kubernetesVersion artık örnek komutta belirtilen sürümle eşleşir:

{
  ...
  "agentPoolProfiles": [
    {
      ...
      "count": 3,
      "currentOrchestratorVersion": "1.34.10",
      "maxPods": 110,
      "name": "nodepool1",
      "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202608.26.0",
      "orchestratorVersion": "1.34.10",
      "osType": "Linux",
      "upgradeSettings": {
        "drainTimeoutInMinutes": null,
        "maxSurge": "10%",
        "nodeSoakDurationInMinutes": null,
        "undrainableNodeBehavior": null
      },
      "vmSize": "Standard_DS2_v2",
      ...
    }
  ],
  ...
  "currentKubernetesVersion": "1.34.10",
  "dnsPrefix": "myAKSClust-myResourceGroup-12ab34",
  "enableRbac": false,
  "fqdn": "myaksclust-myresourcegroup-12ab34-cd56e7fg.hcp.westus2.azmk8s.io",
  "id": "/subscriptions/<Subscription ID>/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster",
  "kubernetesVersion": "1.34.10",
  "location": "westus2",
  "name": "myAKSCluster",
  "type": "Microsoft.ContainerService/ManagedClusters"
  ...
}

Azure PowerShell kullanarak kümeyi el ile yükseltme

Set-AzAksCluster cmdlet’ini kullanarak kümenizi yükseltin. Bu örnek, kümeyi 1.34.10 sürümüne yükseltmektedir:

Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -KubernetesVersion 1.34.10

Note

Desteklenen LTS dışı kümeler, minör sürüm sırasıyla yükseltilmelidir. Örneğin, 1.33.x'ten1.35.x'e yükseltmek için önce 1.34.x sürümüne yükseltin. Bir LTS kümesi, yükseltme sürüm farkı gereksinimlerini ve doğrulama denetimlerini karşılıyorsa, AKS tarafından sunulan daha yüksek bir LTS sürümüne geçerken alt sürümleri atlayabilir. Daha fazla bilgi için bkz. Kubernetes sürüm yükseltme kuralları.

Aşağıdaki örnek çıktı yükseltmenin sonucunu gösterir. Değer KubernetesVersion artık örnek cmdlet'inde belirtilen sürümle eşleşir:

...
ProvisioningState        : Succeeded
MaxAgentPools            : 100
KubernetesVersion        : 1.34.10
CurrentKubernetesVersion : 1.34.10
...
ResourceGroupName        : myResourceGroup
Name                     : myAKSCluster
Type                     : Microsoft.ContainerService/ManagedClusters
Location                 : westus2
Tags                     :

Azure portalını kullanarak kümeyi el ile yükseltme

  1. Azure portalında AKS küme kaynağınıza gidin.

  2. Hizmet menüsündeki Ayarlar'ın altında Yükseltmeler'i seçin.

  3. Kubernetes sürümüne göreSürümü yükselt'i seçin.

    Azure portalında Sürümü yükselt seçeneğinin ekran görüntüsü.

  4. Yükseltilebilir Kubernetes sürümlerini görüntülemek için, Kubernetes Sürümü açılır listesini Kubernetes sürümünü yükselt sayfasında seçin.

    Kullanılabilir yükseltme sürümlerini içeren Yükseltme sürümü ekranının ekran görüntüsü.

  5. Yükseltmek istediğiniz Kubernetes sürümünü ve ardından Kaydet'i seçin.

Yükseltme süresi; düğüm sayısı, ek kapasite ayarları, iş yükü kesintisi kısıtlamaları, boşaltma zaman aşımı ve düğüm bekleme süresi gibi faktörlere bağlıdır. Varsayılan boşaltma zaman aşımı düğüm başına 30 dakikadır ve beş dakikadan 24 saate kadar yapılandırılabilir. Düğüm bekletme süresi, düğüm başına 0 ila 30 dakika ekleyebilir. Daha fazla bilgi için Düğüm havuzu ek kapasite artışı ve kullanılamazlık ayarlarını özelleştirme bölümüne bakın.

Azure CLI kullanarak otomatik küme yükseltmelerini yapılandırma

Azure PowerShell kullanarak otomatik küme yükseltmelerini yapılandırma

Azure portalını kullanarak otomatik küme yükseltmelerini yapılandırma

AKS Otomatik kümeleri kanalı kullanır stable ve kanalı yapılandırmanız gerekmez. AKS Standart kümeleri için sürüm ilkenize göre bir kanal seçin. stable ve rapid kanalları Kubernetes ikincil sürümlerini ilerletir ve kümeyi desteklenen sürüm penceresinde tutmaya yardımcı olur. patch kanalı yalnızca geçerli alt sürüm için yamaları yükler ve kümeyi daha yeni bir alt sürüme yükseltmez.

Bir AKS Standard kümesinde, otomatik yükseltme kanalını az aks update komutunu kullanarak ayarlayın. Aşağıdaki örnekte kanal kullanılır stable :

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

AKS Standard kümesinde, otomatik yükseltme kanalını Set-AzAksCluster cmdlet'ini kullanarak ayarlayın. Aşağıdaki örnekte kanal kullanılır Stable :

Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -AutoUpgradeChannel Stable
  1. Azure portalında AKS küme kaynağınıza gidin.

  2. Hizmet menüsündeki Ayarlar'ın altında Yükseltmeler'i seçin.

  3. Kubernetes sürümüne göreSürümü yükselt'i seçin.

    Azure portalında Sürümü yükselt seçeneğinin ekran görüntüsü.

  4. AKS Standard kümesi için Kubernetes sürümünü yükselt sayfasında, Otomatik yükseltme açılır listesini seçin, Kararlı ile etkin seçeneğini belirleyin ve ardından Kaydet'i seçin.

    Otomatik yükseltme kanalı seçeneklerini gösteren Kubernetes sürümünü yükselt sayfasının ekran görüntüsü.

Daha fazla bilgi için bkz. Azure Kubernetes Service (AKS) kümesini otomatik olarak yükseltme.

Düğüm görüntülerini yükseltme

AKS düzenli olarak yeni düğüm görüntüleri sağlar. Linux düğümü görüntüleri haftalık olarak, Windows düğümü görüntüleri ise aylık olarak güncelleştirilir. En son AKS özelliklerini ve güvenlik güncelleştirmelerini kullanmak için düğüm görüntülerinizi sık sık yükseltmenizi öneririz. Daha fazla bilgi için bkz . Azure Kubernetes Service'te (AKS) düğüm görüntülerini yükseltme. Otomatik düğüm görüntüsü yükseltmelerini yapılandırmak için bkz. Azure Kubernetes Service (AKS) kümesi düğümü işletim sistemi görüntülerini otomatik olarak yükseltme.

Yükseltme olaylarını görüntüleme

Note

Kümenizi yükselttiğinizde düğümlerde aşağıdaki Kubernetes olayları oluşabilir:

  • Dalgalanma: Bir dalgalanma düğümü oluşturun.
  • Boşaltma: Düğümden podları çıkartma. AKS, bir düğümün varsayılan olarak boşaltılmasına 30 dakika izin verir. Boşaltma zaman aşımını beş dakikadan 24 saate kadar yapılandırabilirsiniz.
  • Güncelleştirme: Düğüm güncelleştirmesi başarılı veya başarısız oldu.
  • Sil: Bir dalgalanma düğümünü silin.

kubectl get Varsayılan ad alanında AKS yükseltici olaylarını görüntülemek için bir alan seçici ile komutunu kullanın.

kubectl get events --field-selector source=upgrader

Aşağıdaki örnek çıktı, yükseltme sırasında listelenen önceki olaylardan bazılarını gösterir:

LAST SEEN   TYPE      REASON    OBJECT                                   MESSAGE
...
5m          Normal    Drain     node/aks-nodepool1-12345678-vmss000000   Draining node: aks-nodepool1-12345678-vmss000000
5m          Normal    Upgrade   node/aks-nodepool1-12345678-vmss000000   Deleting node aks-nodepool1-12345678-vmss000000 from API server
4m          Normal    Upgrade   node/aks-nodepool1-12345678-vmss000000   Successfully reimaged node: aks-nodepool1-12345678-vmss000000
4m          Normal    Upgrade   node/aks-nodepool1-12345678-vmss000000   Successfully upgraded node: aks-nodepool1-12345678-vmss000000
4m          Normal    Drain     node/aks-nodepool1-12345678-vmss000000   Draining node: aks-nodepool1-12345678-vmss000000
...

Azure CLI kullanarak yükseltmeyi doğrulama

komutunu kullanarak yükseltmenin az aks show başarılı olduğunu onaylayın.

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

Aşağıdaki örnek çıktı aks kümesinin hedef Kubernetes sürümünü çalıştırdığını gösterir:

Name          Location    ResourceGroup    KubernetesVersion    CurrentKubernetesVersion  ProvisioningState    Fqdn
------------  ----------  ---------------  -------------------  ------------------------  -------------------  ----------------------------------------------------------------
myAKSCluster  westus2      myResourceGroup  1.34.10              1.34.10                   Succeeded            myaksclust-myresourcegroup-12ab34-cd56e7fg.hcp.westus2.azmk8s.io

Azure PowerShell kullanarak yükseltmeyi doğrulama

Get-AzAksCluster cmdlet’ini kullanarak yükseltme işleminin başarılı olduğunu onaylayın.

Get-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster |
  Select-Object -Property Name, Location, KubernetesVersion, ProvisioningState

Aşağıdaki örnek çıktı aks kümesinin hedef Kubernetes sürümünü çalıştırdığını gösterir:

Name             Location     KubernetesVersion     ProvisioningState
----             --------     -----------------     -----------------
myAKSCluster     westus2       1.34.10               Succeeded

Azure portalını kullanarak yükseltmeyi doğrulama

  1. Azure portalında AKS küme kaynağınıza gidin.
  2. Yükseltmenin başarılı olduğunu onaylamak için Genel Bakış sayfasındaki Temel Bileşenler'in altında Kubernetes sürümünü denetleyin.

Azure CLI kullanarak kümeyi silme

Azure PowerShell kullanarak kümeyi silme

Azure portalını kullanarak kümeyi silme

Bu öğretici serinin son bölümü olduğundan, Azure ücretlendirmesini önlemek için AKS kümenizi silmek isteyebilirsiniz.

komutunu kullanarak az group delete kaynak grubunu, kapsayıcı hizmetini ve tüm ilgili kaynakları kaldırın.

az group delete --name myResourceGroup --yes --no-wait

cmdlet'ini kullanarak Remove-AzResourceGroup kaynak grubunu, kapsayıcı hizmetini ve tüm ilgili kaynakları kaldırın.

Remove-AzResourceGroup -Name myResourceGroup
  1. Azure portalında AKS küme kaynağınıza gidin.
  2. Genel Bakış sayfasında Sil’i seçin.
  3. Kümeyi sil onay sayfasında Sil'i seçin.

Note

Kümeyi sildiğinizde AKS kümesi tarafından kullanılan Microsoft Entra hizmet sorumlusu kaldırılmaz. Hizmet sorumlusunu kaldırma adımları için bkz. AKS hizmet sorumlusuyla ilgili önemli noktalar ve silme. Yönetilen bir kimlik kullandıysanız, kimlik platform tarafından yönetilir ve herhangi bir sırrı sağlamanızı veya döndürmenizi gerektirmez.

Sonraki Adımlar

Bu öğreticide, AKS kümesinde Kubernetes'i yükselttiniz. Nasıl yapılacağını öğrendinsiniz:

  • Geçerli ve kullanılabilir Kubernetes sürümlerini belirleyin.
  • Kubernetes düğümlerinizi yükseltin.
  • Başarılı bir yükseltmeyi doğrulayın.

AKS hakkında daha fazla bilgi için bkz. AKS'ye genel bakış. AKS ile tam çözüm oluşturma yönergeleri için AKS çözümü kılavuzuna bakın.