Öğretici: Azure Kubernetes Hizmeti’nde (AKS) Kubernetes’i yükseltme

Uygulama ve küme yaşam döngüsünün bir parçası olarak Kubernetes'in son sürümüne yükselterek yeni özelliklerden faydalanmak isteyebilirsiniz. Azure Kubernetes Hizmeti (AKS) kümesi, Azure CLI kullanılarak yükseltilebilir.

Yedi parçalık bu öğreticinin yedinci kısmında, bir Kubernetes kümesi yükseltilir. Aşağıdakileri nasıl yapacağınızı öğrenirsiniz:

  • Geçerli ve kullanılabilir Kubernetes sürümlerini tanımlama
  • Kubernetes düğümlerini yükseltme
  • Başarılı bir yükseltmeyi doğrulama

Başlamadan önce

Önceki öğreticilerde, bir uygulama bir kapsayıcı görüntüsüne paketlendi. Bu görüntü Azure Container Registry yüklendi ve bir AKS kümesi oluşturdun. Uygulama daha sonra AKS kümesine dağıtıldı. Bu adımları henüz uygulamadıysanız ve takip etmek için Öğretici 1 – Kapsayıcı görüntüleri oluşturma ile başlayabilirsiniz.

Bu öğretici için Azure CLI 2.0.53 veya sonraki bir sürümünü çalıştırmanı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.

Kullanılabilir küme sürümlerini alma

Bir kümeyi yükseltmeden önce, az aks get-upgrades komutunu kullanarak hangi Kubernetes sürümlerinin yükseltme için kullanılabilir olduğunu öğrenin:

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

Aşağıdaki örnekte, geçerli sürüm 1.18.10'dür ve kullanılabilir sürümler yükseltmeleri altında gösterilir.

{
  "agentPoolProfiles": null,
  "controlPlaneProfile": {
    "kubernetesVersion": "1.18.10",
    ...
    "upgrades": [
      {
        "isPreview": null,
        "kubernetesVersion": "1.19.1"
      },
      {
        "isPreview": null,
        "kubernetesVersion": "1.19.3"
      }
    ]
  },
  ...
}

Kümeyi yükseltme

Çalışan uygulamalarda kesintiyi en aza indirmek için AKS düğümleri dikkatli bir şekilde kablolara ve boşaltıldı. Bu işlemde aşağıdaki adımlar gerçekleştirilir:

  1. Kubernetes zamanlayıcı, yükseltilecek bir düğümde ek podların zamanlanmış olması engel olur.
  2. Düğümde çalışan podlar kümedeki diğer düğümlerde zamanlanmış.
  3. En son Kubernetes bileşenlerini çalıştıran bir düğüm oluşturulur.
  4. Yeni düğüm hazır olduğunda ve kümeye katılarak Kubernetes zamanlayıcısı üzerinde pod çalıştırmaya başlar.
  5. Eski düğüm silinir ve kümedeki sonraki düğüm cordon ve drain işlemini başlar.

AKS kümesini yükseltmek için az aks upgrade komutunu kullanın.

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

Not

Aynı anda yalnızca bir ikincil sürüm yükseltmesi yapabilirsiniz. Örneğin, 1.14.x'den 1.15.x sürümüne yükseltebilirsiniz, ancak doğrudan 1.14.x'den 1.16.x sürümüne yükseltebilirsiniz. 1.14.x'den 1.16.x sürümüne yükseltmek için, önce 1.14.x'den 1.15.x sürümüne yükseltin, ardından 1.15.x'den 1.16.x'e başka bir yükseltme gerçekleştirin.

Aşağıdaki yoğun örnek çıktı, 1.19.1 sürümüne yükseltmenin sonucu gösterir. kubernetesVersion'un artık 1.19.1 raporuna sahip olduğunu fark edin:

{
  "agentPoolProfiles": [
    {
      "count": 3,
      "maxPods": 110,
      "name": "nodepool1",
      "osType": "Linux",
      "storageProfile": "ManagedDisks",
      "vmSize": "Standard_DS1_v2",
    }
  ],
  "dnsPrefix": "myAKSClust-myResourceGroup-19da35",
  "enableRbac": false,
  "fqdn": "myaksclust-myresourcegroup-19da35-bd54a4be.hcp.eastus.azmk8s.io",
  "id": "/subscriptions/<Subscription ID>/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster",
  "kubernetesVersion": "1.19.1",
  "location": "eastus",
  "name": "myAKSCluster",
  "type": "Microsoft.ContainerService/ManagedClusters"
}

Yükseltmeyi doğrulama

az aks show komutunu aşağıdaki şekilde kullanarak yükseltmenin başarılı olup olmadığını doğrulayabilirsiniz:

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

Aşağıdaki örnek çıktı, AKS kümesinde KubernetesVersion 1.19.1 çalıştırmasını gösterir:

Name          Location    ResourceGroup    KubernetesVersion    ProvisioningState    Fqdn
------------  ----------  ---------------  -------------------  -------------------  ----------------------------------------------------------------
myAKSCluster  eastus      myResourceGroup  1.19.1               Succeeded            myaksclust-myresourcegroup-19da35-bd54a4be.hcp.eastus.azmk8s.io

Küme silme

Bu öğretici serinin son bölümü olduğu için AKS kümesi silmek istiyor olabilir. Kubernetes düğümleri Azure sanal makinelerinde (VM) çalıştığından kümeyi kullanmasanız dahi ücret tahsil edilmeye devam eder. az group delete komutunu kullanarak kaynak grubunu, kapsayıcı hizmetini ve ilgili tüm kaynakları kaldırabilirsiniz.

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

Not

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

Sonraki adımlar

Bu öğreticide, bir AKS kümesinde Kubernetes’i yükselttiniz. Şunları öğrendiniz:

  • Geçerli ve kullanılabilir Kubernetes sürümlerini tanımlama
  • Kubernetes düğümlerini yükseltme
  • Başarılı bir yükseltmeyi doğrulama

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