Tutorial: Memutakhirkan Kubernetes di Azure Kubernetes Service (AKS)

Sebagai bagian dari aplikasi dan siklus hidup kluster, Anda mungkin ingin meningkatkan ke versi terbaru Kubernetes yang tersedia dan menggunakan fitur baru. Kluster Azure Kubernetes Service (AKS) dapat dimutakhirkan menggunakan Azure CLI.

Dalam tutorial ini, bagian tujuh dari tujuh, kluster Kubernetes dimutakhirkan. Anda mempelajari cara untuk:

  • Identifikasi versi Kubernetes saat ini dan yang tersedia
  • Mutakhirkan simpul Kubernetes
  • Validasi pemutakhiran yang berhasil

Sebelum Anda mulai

Dalam tutorial sebelumnya, aplikasi dikemas ke dalam gambar kontainer. Gambar ini diunggah ke Azure Container Registry, dan Anda membuat kluster AKS. Aplikasi kemudian disebarkan ke kluster AKS. Jika Anda belum melakukan langkah-langkah ini, dan ingin mengikuti, mulai dengan Tutorial 1 – Membuat gambar kontainer.

Tutorial ini mengharuskan Anda menjalankan CLI Azure versi 2.0.53 atau yang lebih baru. Jalankan az --version untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang CLI Azure.

Dapatkan versi kluster yang tersedia

Sebelum Anda memutakhirkan kluster, gunakan perintah az aks get-upgrades untuk memeriksa rilis Kubernetes mana yang tersedia untuk dimutakhirkan:

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

Dalam contoh berikut, versi saat ini adalah 1.18.10, dan versi yang tersedia ditampilkan di bawah pemutakhiran.

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

Mutakhirkan kluster

Untuk mengecilkan gangguan pada aplikasi yang berjalan, simpul AKS di-cordon dan dikosongkan dengan hati-hati. Dalam proses ini, langkah-langkah berikut dilakukan:

  1. Penjadwal Kubernetes mencegah pod tambahan dijadwalkan pada sebuah simpul yang akan dimutakhirkan.
  2. Pod yang berjalan pada simpul dijadwalkan pada simpul lain di kluster.
  3. Sebuah simpul dibuat yang menjalankan komponen Kubernetes terbaru.
  4. Ketika simpul baru siap dan bergabung ke kluster, penjadwal Kubernetes mulai menjalankan pod pada simpul tersebut.
  5. Simpul lama dihapus, dan simpul berikutnya dalam kluster memulai proses cordon dan drain.

Gunakan perintah az aks upgrade untuk memutakhirkan kluster AKS.

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

Catatan

Anda hanya dapat memutakhirkan satu versi minor sekaligus. Misalnya, Anda dapat memutakhirkan dari 1.14.x ke 1.15.x, tetapi tidak dapat memutakhirkan dari 1.14.x ke 1.16.x secara langsung. Untuk memutakhirkan dari 1.14.x ke 1.16.x, pemutakhirkan pertama dari 1.14.x ke 1.15.x, lalu lakukan pemutakhirkan lain dari 1.15.x ke 1.16.x.

Contoh output terkondensasi berikut menunjukkan hasil pemutakhiran ke 1.19.1. Perhatiokan kubernetesVersion sekarang melaporkan 1.19.1:

{
  "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"
}

Memvalidasi pemutakhiran

Mengonfirmasi bahwa pemutakhiran berhasil dengan menggunakan perintah az aks show sebagai berikut:

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

Contoh output berikut menunjukkan kluster AKS menjalankan KubernetesVersion 1.19.1:

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

Hapus kluster

Karena tutorial ini adalah bagian terakhir dari seri ini, Anda mungkin ingin menghapus kluster AKS. Ketika simpul Kubernetes berjalan pada komputer virtual Azure (VM), mereka terus dikenakan biaya bahkan jika Anda tidak menggunakan kluster. Gunakan perintah az group delete untuk menghapus grup sumber daya, layanan kontainer, dan semua sumber daya terkait.

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

Catatan

Saat menghapus kluster, perwakilan layanan Azure Active Directory yang digunakan oleh kluster AKS tidak dihapus. Untuk langkah tentang cara menghapus perwakilan layanan, lihat Pertimbangan dan penghapusan perwakilan layanan AKS. Jika Anda menggunakan identitas terkelola, identitas dikelola oleh platform dan tidak mengharuskan Anda untuk menyediakan atau merotasi rahasia apa pun.

Langkah berikutnya

Dalam tutorial ini, Anda memutakhirkan Kubernetes dalam kluster AKS. Anda mempelajari cara untuk:

  • Identifikasi versi Kubernetes saat ini dan yang tersedia
  • Mutakhirkan simpul Kubernetes
  • Validasi pemutakhiran yang berhasil

Untuk informasi selengkapnya tentang AKS, lihat Gambaran umum AKS. Untuk panduan tentang membuat solusi lengkap dengan AKS, lihat panduan solusi AKS.