具有 OS Guard 的 Azure Linux 會透過更新的節點映像和自動套件更新來提供更新。 在應用程式和叢集生命週期中,建議您啟用叢集的升級,讓叢集保持最新狀態並受到保護。 您可以啟用自動節點映像升級,以確保您的叢集在擴展時使用最新的搭載 OS Guard 映像的 Azure Linux。 您也可以手動升級叢集上的節點映像。
在本教學課程中的第五部分 (共五部分),您會了解如何:
- 手動升級叢集上的節點映像。
- 使用 OS Guard 叢集自動升級 Azure Linux。
- 在具有 OS Guard 叢集的 Azure Linux 中部署 Kured。
備註
如果節點映像版本還不是最新版本,不論是手動或自動執行,所有升級作業都會升級節點映像版本。 最新版本取決於完整的 AKS 版本,您可以流覽 AKS 版本追蹤器來判斷它。
先決條件
- 在先前的教學課程中,您已建立並部署具有 OS Guard 叢集的 Azure Linux。 若要完成本教學課程,您需要現有的叢集。 如果您尚未完成此步驟,而且想要遵循,請參閱 教學課程 1:使用 Azure Linux 和適用於 AKS 的 OS Guard 建立叢集。
- 您需要最新版的 Azure CLI。 使用指令
az version來尋找版本。 若要升級至最新版本,請使用命令az upgrade。
手動升級叢集
使用命令 az aks nodepool ugprade 手動升級叢集上的節點映像。
az aks nodepool upgrade --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODEPOOL_NAME
自動升級叢集
自動升級提供「一次設定就忘記」,可產生時間和營運成本優勢,確保您的叢集是最新的,而且不會錯過最新的 Azure Linux,其中包含 AKS 和上游 Kubernetes 的 OS Guard 功能或修補程式。
自動升級在功能上與手動升級相同。 選取的通道會決定升級的時間。 變更自動升級時,請等候 24 小時以使變更生效。
使用 az aks update 命令搭配 --auto-upgrade-channel 參數,在現有叢集上設定自動升級通道。
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"
}
}
如需升級通道的詳細資訊,請參閱使用叢集自動升級。
自動升級節點作業系統映像
AKS 也提供多個自動升級通道,專用於及時的節點層級 OS 安全性更新。 此通道與叢集層級 Kubernetes 版本升級不同,並會將其取代。
請注意,NodeImage 和 None 是在 AKS 上具有 OS Guard 的 Azure Linux 唯一支援的 OS 升級通道。
Unmanaged 而且 SecurityPatch 由於不可變的 /usr 目錄,因此與具有 OS Guard 的 Azure Linux 不相容。
使用az aks update命令並且設置--node-os-upgrade-channel參數,在現有叢集中設定節點作業系統升級通道。
az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --node-os-upgrade-channel NodeImage
輸出範例:
{
"id": "/subscriptions/xxxxx/resourceGroups/testAzureLinuxResourceGroup",
"location": "WestUS2",
"name": "testAzureLinuxCluster",
"properties": {
"nodeOsUpgradeChannel": "NodeImage",
"provisioningState": "Succeeded"
}
}
如需節點升級通道的詳細資訊,請參閱 使用 節點作業系統自動升級。
清理資源
由於本教學課程是整個系列的最後一個部分,您可以刪除 Azure Linux 容器主機叢集。 Kubernetes 節點是在 Azure 虛擬機器上執行,因此即使您不使用叢集,這些節點仍會繼續產生費用。
az aks delete --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
後續步驟
在本教學課程中,您升級了 Azure Linux 容器主機叢集。
如需具有 OS Guard 的 Azure Linux 的詳細資訊,請參閱 具有 OS Guard 的 Azure Linux 概觀。