Azure AKS 升級小記
OS: openSUSE Leap 15.5
azure-cli: 2.38.1
2.38.1 為 SLES 與 openSUSE 支援的最新版本, 支援到 2024/6 為止
有在 Azure 上面執行 AKS 來進行 Kubernetes 的練習
1.27.7 到今年 7 月, 所以繼續來更新 AKS
AKS 發行的行事曆可以參考
之前支援的方式是支援前 3 個GA 版本, 目前 Azure 從 1.19 開始就遵循 12 個月的版本支援原則, 也就是至少一年升級一次 :)
升級的部份, 主要參考官方文件
首先查詢 az 版本
> az --version
azure-cli 2.38..1 *
等等要取得可以升級的 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_sakana-20230617_eastus eastus Succeeded
AKS 應該會有兩個Resource Gruop, 這個部份可以參考之前的文章
如果超過一段時間沒有驗證, 可以用以下指令驗證
az login --scope https://management.core.windows.net//.default
如果有多個 subscription ID, 可以用以下指令查詢並確認 default 是那一個
> az account list --output table
參考 https://learn.microsoft.com/zh-tw/cli/azure/manage-azure-subscriptions-azure-cli?tabs=bash
如果出來的 group name 不是現在要操作的 subscription ID, 可以用以下指令來切換 scription
> az account set --subscription "YOUR_SCRIPTION_NAME"
或是
> az account set --subscription "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
如果要列出某個 Resource Group 下面的資源可以使用 az resource list 指令
> az resource list --resource-group k8s-lab-2022 --output table
Name ResourceGroup Location Type Status
----------------------------------------------- --------------- ---------- ------------------------------------------ --------
sakana-20230617 k8s-lab-2022 eastus Microsoft.ContainerService/managedClusters
CPU Usage Percentage - sakana-20230617 k8s-lab-2022 global microsoft.insights/metricalerts
Memory Working Set Percentage - sakana-20230617 k8s-lab-2022 global microsoft.insights/metricalerts
接下來就是取得可用的叢集版本
> az aks get-upgrades --resource-group k8s-lab-2022 --name sakana-20230617
{
"agentPoolProfiles": null,
"controlPlaneProfile": {
"kubernetesVersion": "1.27.7",
"name": null,
"osType": "Linux",
"upgrades": [
{
"isPreview": null,
"kubernetesVersion": "1.28.3"
},
{
"isPreview": null,
"kubernetesVersion": "1.28.0"
}
]
},
恕略
升級叢集
一次只能升級一個次要版本。 例如,您可以從 1.23.x 升級至 1.24.x,但無法直接從 1.23.x 升級至 1.25.x。
以我這個例子就是只能先升級到 1.28.x
> az aks upgrade --resource-group k8s-lab-2022 --name sakana-20230617 --kubernetes-version 1.28.3
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.28.3. Continue? (y/N): y
我的實驗 cluster 是單一 node, 所以升級的時候節點是先建後拆, 所以交換的時候可能會有短暫服務 connection timeout
執行完畢之後, 驗證升級
> az aks show --resource-group k8s-lab-2022 --name sakana-20230617 --output table
Name Location ResourceGroup KubernetesVersion CurrentKubernetesVersion ProvisioningState Fqdn
----------------------- ---------- --------------- ------------------- -------------------------- ------------------- ------------------------------------------------------------
sakana-20230617 eastus k8s-lab-2022 1.28.3 1.28.3 Succeeded
依照輸出的訊息可以知道已經升級成功
再次確認可升級的版本
> az aks get-upgrades --resource-group k8s-lab-2022 --name sakana-20230617
{
"agentPoolProfiles": null,
"controlPlaneProfile": {
"kubernetesVersion": "1.28.3",
"name": null,
"osType": "Linux",
"upgrades": null
},
目前已經無升級版本
升級速度安排就看個人了
先記下來
~ enjoy it
Reference:
沒有留言:
張貼留言