Azure Linux 容器主機會透過兩種機制提供更新:更新的 Azure Linux 節點映像和自動套件更新。
在應用程式和叢集生命週期中,建議您啟用叢集的升級,讓叢集保持最新狀態並受到保護。 你可以啟用自動節點映像升級,確保叢集在擴展時使用最新的 Azure Linux 容器主機映像檔。 您也可以手動升級叢集上的節點映像。
在這個教學課程中,在五個部分的第五部分中,您將學習如何:
- 手動升級叢集上的節點映像。
- 自動升級 Azure Linux 容器主機叢集。
- 在 Azure Linux 容器主機叢集中部署 Kured。
本教學中的命令會使用在 教學 1:使用 AKS 的 Azure Linux 容器主機建立叢集 和 教學 2:將 Azure Linux 節點集區新增至您現有的 AKS 叢集 中設定的環境變數。
Note
如果還不是最新版本,不論是手動或自動執行,任何升級作業都會升級節點映像版本。 最新版本取決於完整的 AKS 版本,您可以瀏覽 AKS 發行版本追蹤器以進行判斷。
先決條件
- 在先前的教學課程中,您已建立並部署 Azure Linux 容器主機叢集。 若要完成本教學課程,您需要現有的叢集。 如果您尚未完成此步驟,而且想要跟著做,請從教學課程 1:使用適用於 AKS 的 Azure Linux 容器主機建立叢集開始。
- 您需要最新版的 Azure CLI。 使用
az --version命令來尋找版本。 如果您需要安裝或升級,請參閱 安裝 Azure CLI。
手動升級叢集
使用命令 az aks nodepool upgrade 手動升級叢集上的節點映像。
az aks nodepool upgrade --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --name $NODE_POOL_NAME
自動升級叢集
自動升級在功能上與手動升級相同。 選取的通道會決定升級的時間。 變更自動升級時,請等候 24 小時以使變更生效。
使用 az aks update 命令搭配 --auto-upgrade-channel 參數,在現有叢集上設定自動升級通道。 以下範例將現有叢集的自動升級通道設定為 stable:
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --auto-upgrade-channel stable
輸出範例:
{
"id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxResourceGroup",
"location": "WestUS2",
"name": "testAzureLinuxCluster",
"properties": {
"autoUpgradeChannel": "stable",
"provisioningState": "Succeeded"
}
}
如需升級通道的詳細資訊,請參閱使用叢集自動升級。
啟用自動套件升級
你也可以啟用套件自動升級。 如果已啟用自動套件升級,則 dnf-automatic systemd 服務會每日執行,並安裝任何已發佈的更新套件。
使用az aks update命令並且設置--node-os-upgrade-channel參數,在現有叢集中設定節點作業系統升級通道。 以下範例將節點作業系統升級通道設定為 Unmanaged 現有叢集:
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --node-os-upgrade-channel Unmanaged
輸出範例:
{
"id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxResourceGroup",
"location": "WestUS2",
"name": "testAzureLinuxCluster",
"properties": {
"nodeOsUpgradeChannel": "Unmanaged",
"provisioningState": "Succeeded"
}
}
啟用自動重新開機精靈
為了保護您的叢集,系統會自動將安全性更新套用至 Azure Linux 節點。 這些更新包括 OS 安全性修正、核心更新和套件升級。 這其中有一些更新需要重新啟動節點,才能完成此程序。 AKS 不會自動將這些節點重新開機以完成更新程序。
建議您啟用自動重新開機精靈,例如 (Kured),讓您的叢集可將已執行核心更新的節點重新開機。 若要在 Azure Linux 容器主機叢集中部署 Kured DaemonSet,請參閱在 AKS 叢集中部署 Kured。
清理資源
由於本教學是系列的最後一部分,你可能想刪除你的 Azure Linux 容器主機叢集。 Kubernetes 節點運行在 Azure 虛擬機(VM)上,即使你不使用叢集,仍會持續產生費用。
使用 az group delete 指令刪除 Azure 資源群組及所有相關資源。
az group delete --name $RESOURCE_GROUP --yes --no-wait
下一步
在本教學課程中,您升級了 Azure Linux 容器主機叢集。
如需 Azure Linux 容器主機的詳細資訊,請參閱 Azure Linux 容器主機概觀。