星期三, 2月 01, 2023

Azure AKS 升級小記

Azure AKS 升級小記


OS: openSUSE Leap 15.4

azure-cli:  2.38


有在 Azure 上面執行 AKS 來進行 Kubernetes 的練習

1.23 版本已經剩下不多生命周期了, 所以就更新 AKS 的升級小記


AKS 發行的行事曆可以參考


  • 之前支援的方式是支援前 3 個GA 版本, 目前  Azure 從 1.19 開始就遵循 12 個月的版本支援原則, 也就是至少一年升級一次 :)


升級的部份, 主要參考官方文件


首先查詢 az 版本

> az  --version


azure-cli                         2.38.0


等等要取得可以升級的 AKS Kubernetes 版本需要 Resource Group 與 AKS 名稱


如果要列出 Resource Group 可以使用 az group 指令


> az  group  list --output  table


Name                                  Location      Status

------------------------------------  ------------  ---------

k8s-lab-2022                                    eastus         Succeeded

MC_k8s-lab-2022_test20220215-aks-sakana_eastus  eastus         Succeeded



如果要列出某個 Resource Group 下面的資源可以使用 az resource list 指令


> az  resource  list  --resource-group  k8s-lab-2022 --output  table


Name              ResourceGroup    Location    Type                                        Status

----------------  ---------------  ----------  ------------------------------------------  --------

test20220215-aks-sakana  k8s-lab-2022     eastus      Microsoft.ContainerService/managedClusters



接下來就是取得可用的叢集版本


> az  aks  get-upgrades  --resource-group  k8s-lab-2022  --name  test20220215-aks-sakana


{

  "agentPoolProfiles": null,

  "controlPlaneProfile": {

    "kubernetesVersion": "1.23.3",

    "name": null,

    "osType": "Linux",

    "upgrades": [

      {

        "isPreview": null,

        "kubernetesVersion": "1.23.8"

      },

      {

        "isPreview": null,

        "kubernetesVersion": "1.23.12"

      },

      {

        "isPreview": null,

        "kubernetesVersion": "1.24.6"

      },

      {

        "isPreview": null,

        "kubernetesVersion": "1.24.9"

      }

    ]

  },

恕略


升級叢集

  • 一次只能升級一個次要版本。 例如,您可以從 1.23.x 升級至 1.24.x,但無法直接從 1.23.x 升級至 1.25.x。

  • 以我這個例子就是只能先升級到 1.24.x


> az  aks  upgrade  --resource-group  k8s-lab-2022  --name  test20220215-aks-sakana --kubernetes-version  1.24.6


Kubernetes may be unavailable during cluster upgrades.

 Are you sure you want to perform this operation? (y/N): y

Since control-plane-only argument is not specified, this will upgrade the control plane AND all nodepools to version 1.24.6. Continue? (y/N): y


執行完畢之後, 驗證升級


> az  aks  show  --resource-group  k8s-lab-2022  --name  test20220215-aks-sakana --output  table


Name                     Location    ResourceGroup    KubernetesVersion    CurrentKubernetesVersion    ProvisioningState    Fqdn

-----------------------  ----------  ---------------  -------------------  --------------------------  -------------------  ------------------------------------------------------------

test20220215-aks-sakana  eastus      k8s-lab-2022     1.24.6               1.24.6                      Succeeded 



  • 依照輸出的訊息可以知道已經升級成功


但是 1.19 已經要 Retire 了, 可以參考上面的發行行事曆,  所以還是要升級到下一個版本



再次確認可升級的版本


> az  aks  get-upgrades  --resource-group  k8s-lab-2022  --name  test20220215-aks-sakana


{

  "agentPoolProfiles": null,

  "controlPlaneProfile": {

    "kubernetesVersion": "1.24.6",

    "name": null,

    "osType": "Linux",

    "upgrades": [

      {

        "isPreview": null,

        "kubernetesVersion": "1.24.9"

      },

      {

        "isPreview": null,

        "kubernetesVersion": "1.25.4"

      },

      {

        "isPreview": null,

        "kubernetesVersion": "1.25.5"

      }

    ]

  },



再次進行 AKS 升級


> az  aks  upgrade  --resource-group  study2021  --name  sakanaAKScluster --kubernetes-version  1.25.5


Kubernetes may be unavailable during cluster upgrades.

 Are you sure you want to perform this operation? (y/N): y

Since control-plane-only argument is not specified, this will upgrade the control plane AND all nodepools to version 1.25.5. Continue? (y/N): y


升級速度安排就看個人了

升級到自己想要的版本就完成啦, 先讓自己可以撐到年底 :p


先記下來

~ enjoy it


Reference:


沒有留言: