Öğ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.

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 denetleyin.

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

    Aşağıdaki örnek çıktı, geçerli sürümü 1.28.9 olarak gösterir ve altında upgradeskullanılabilir sürümleri listeler:

      {
        "agentPoolProfiles": null,
        "controlPlaneProfile": {
          "kubernetesVersion": "1.28.9",
          ...
          "upgrades": [
            {
              "isPreview": null,
              "kubernetesVersion": "1.29.4"
            },
            {
              "isPreview": null,
              "kubernetesVersion": "1.29.2"
            }
          ]
        },
        ...
      }
    

AKS kümesini yükseltme

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ümenizin her zaman Kubernetes'in en son sürümünü çalıştırdığından emin olmak için otomatik küme yükseltmelerini yapılandırmanızı öneririz.

Kümeyi el ile yükseltme

  • komutunu kullanarak kümenizi yükseltin az aks upgrade .

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

    Note

    Aynı anda yalnızca bir ikincil sürümü yükseltebilirsiniz. Örneğin, 1.14.x'ten1.15.x'e yükseltebilirsiniz, ancak doğrudan 1.14.x'ten1.16.x'e yükseltemezsiniz. 1.14.x'ten1.16.x'e yükseltmek için, önce 1.14.x'ten1.15.x'e yükseltmeniz ve ardından 1.15.x'ten 1.16.x'e başka bir yükseltme gerçekleştirmeniz gerekir.

    Aşağıdaki örnek çıktı, 1.29.2 sürümüne yükseltmenin sonucunu gösterir. şimdi kubernetesVersion gösterdiğine dikkat edin:

    {
      ...
      "agentPoolProfiles": [
        {
          ...
          "count": 3,
          "currentOrchestratorVersion": "1.29.2",
          "maxPods": 110,
          "name": "nodepool1",
          "nodeImageVersion": "AKSUbuntu-2204gen2containerd-202405.27.0",
          "orchestratorVersion": "1.29.2",
          "osType": "Linux",
          "upgradeSettings": {
            "drainTimeoutInMinutes": null,
            "maxSurge": "10%",
            "nodeSoakDurationInMinutes": null,
            "undrainableNodeBehavior": null
          },
          "vmSize": "Standard_DS2_v2",
          ...
        }
      ],
      ...
      "currentKubernetesVersion": "1.29.2",
      "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.29.2",
      "location": "westus2",
      "name": "myAKSCluster",
      "type": "Microsoft.ContainerService/ManagedClusters"
      ...
    }
    

Otomatik küme yükseltmelerini yapılandırma

  • Kümenizdeki güncellemeleri otomatik olarak yapmak için az aks update komutunu ve --auto-upgrade-channel parametresini patch olarak ayarlayın.

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

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

AKS 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. Her pod çıkarma işlemini tamamlamak için beş dakikalık bir zaman aşımına sahiptir.
  • Güncelleştirme: Düğüm güncelleştirmesi başarılı veya başarısız oldu.
  • Sil: Bir dalgalanma düğümünü silin.
  • Komutunu kullanarak varsayılan ad alanlarındaki yükseltme olaylarını görüntüleyin kubectl get events.

    kubectl get events --field-selector source=upgrader
    

    Aşağıdaki örnek çıktı, yükseltme sırasında listelenen yukarıdaki 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
    ...
    

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ıda AKS kümesinin KubernetesVersion 1.27.3 ile çalıştığını gösterir:

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

Kümeyi sil

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
    

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.