你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:使用 OS Guard(预览版)节点升级 Azure Linux

具有 OS Guard 的 Azure Linux 通过更新的节点映像和自动包更新提供更新。 作为应用程序和群集生命周期的一部分,我们建议通过为群集启用升级来让群集保持最新状态并受到保护。 可以启用自动节点映像升级,以确保群集在纵向扩展时将最新的 Azure Linux 与 OS Guard 映像配合使用。 还可以手动升级群集上的节点映像。

在本教程的第五部分(共五部分)中,你将了解如何执行以下操作:

  • 手动升级群集上的节点映像。
  • 使用 OS Guard 群集自动升级 Azure Linux。
  • 使用 OS Guard 群集在 Azure Linux 中部署 Kured。

注释

任何升级操作,无论是手动执行还是自动执行,都会升级节点映像版本(如果该版本还不是最新版本)。 最新版本取决于完整的 AKS 版本,可以通过访问 AKS 发布跟踪器来确定它。

先决条件

手动升级群集

使用 az aks nodepool ugprade 命令手动升级群集上的节点映像。

az aks nodepool upgrade --resource-group $RESOURCE_GROUP --cluster-name $CLUSTER_NAME --name $NODEPOOL_NAME

自动升级群集

自动升级提供了一种“一次设置,永远省心”的方式,带来时间和运营成本的优势,确保您的群集始终保持最新状态,并且不会错过 AKS 和上游 Kubernetes 提供的最新 Azure Linux 或 OS Guard 功能及补丁。

自动升级在功能上与手动升级相同。 所选通道将决定升级的时间。 更改自动升级后,更改需要 24 小时才能生效。

使用带 --auto-upgrade-channel 参数的 az aks update 命令在现有群集上设置自动升级通道。

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

有关升级通道的详细信息,请参阅使用群集自动升级

自动升级节点 OS 映像

AKS 还提供多个专用于及时节点级 OS 安全更新的自动升级通道。 此通道不同于群集级别的 Kubernetes 版本升级并将取代后者。

请注意,NodeImageNone 是唯一受支持的 OS 升级通道,适用于在 AKS 上启用了 OS Guard 的 Azure Linux。 UnmanagedSecurityPatch 与带有 OS Guard 的 Azure Linux 不兼容,因为 /usr 目录是不可变的。

使用带参数的 az aks update 命令 --node-os-upgrade-channel 在现有群集上设置节点 OS 升级通道。

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

有关节点升级通道的详细信息,请参阅 使用节点 OS 自动升级

清理资源

由于本教程是本教程系列的最后一部分,因此建议删除 Azure Linux 容器主机群集。 Kubernetes 节点在 Azure 虚拟机上运行,即使你不使用群集,这些节点也会继续产生费用。

az aks delete --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME

后续步骤

在本教程中,你升级了 Azure Linux 容器主机群集。

有关具有 OS Guard 的 Azure Linux 的详细信息,请参阅 带有 OS Guard 的 Azure Linux 概述