0
点赞
收藏
分享

微信扫一扫

Azure Kubernetes群集节点OS镜像更新策略概览

Azure Kubernetes群集节点OS镜像更新策略概览

一般在使用Azure Kubernetes群集时,我们最好熟悉群集的各种更新过程,这样可以避免因为服务升级造成业务稳定性的下降。Azure Kubernetes Services中的升级一般可以分为如下两部分内容:

  • Azure Kubernetes服务升级:所谓的Azure Kubernetes服务升级就是Kubernetes版本升级。
  • Azure Kubernetes服务节点OS镜像升级:节点OS镜像升级时指AKS的Work Node升级策略。

我们今天主要围绕Azure Kubernetes服务节点OS镜像升级来进行讨论。在使用AKS的过程中我们会发现,节点OS安全更新的发布速度要快于Kubernetes补丁或次要版本的更新速度。节点OS升级可以为我们在使用AKS的过程中,提供更多的灵活性,同时我们也可以为节点OS安全更新配置自定义策略。

一般情况下,我们强烈建议同时使用群集级自动升级和节点 OS 自动升级通道。 可通过应用两组单独的维护时段来微调计划 - 对群集自动升级通道应用 aksManagedAutoUpgradeSchedule,对节点 OS 自动升级通道应用 aksManagedNodeOSUpgradeSchedule。 这样,通过灵活的控制这两组参数,来控制我们AKS群集的升级策略。

 

一般在创建Azure Kubernetes时,如果我们不显示的指定群集节点OS升级策略,则群集节点OS升级策略默认为NoImage,具体我们可以通过如下CLI来进行查看:

az aks show -n dhl-aks -g workclient --query "autoUpgradeProfile"

Azure Kubernetes群集节点OS镜像更新策略概览_安全更新

对于NoImage的更新通道,AKS将使用新修补的VHD文件来更新AKS群集节点,新修补的VHD中,包含每周一次的安全更新和bug修复。但是对于NoImage的更新时会产生中断的,也就意味着,节点OS更新的过程中,系统会有一个重启的过程。那是否有什么方式来避免这一问题,或者可以在计划的时间内进行节点OS修复呢?答案肯定是可以的,我们可以通过修改节点OS镜像的更新通道,来控制不同的更新策略,具体可选的更新通道参考如下:

通道

说明

特定于 OS 的行为

None

节点不会自动应用安全更新。这意味着你对安全更新全权负责。

空值

Unmanaged

系统将通过 OS 内置修补基础结构自动应用 OS 更新。新分配的计算机最初处于未修补状态。 OS 的基础结构会在某个时候对其进行修补。

Ubuntu Azure LinuxCPU 节点池)大约每天 06:00 UTC 左右通过无人参与升级/dnf 自动应用安全修补程序。 Windows 不会自动应用安全修补程序,因此该选项的行为等效于 None

SecurityPatch

此通道处于预览状态,要求启用功能标志 NodeOsUpgradeChannelPreview有关详细信息,请参阅先决条件部分。 AKS 定期使用映像维护程序中标记为仅安全性的修补程序更新节点的虚拟硬盘 (VHD)。将安全修补程序应用于节点时,可能会出现中断。应用修补程序后,VHD 将会更新,现有计算机将升级到该 VHD,从而遵循维护时段和激增设置。此选项会产生在节点资源组中托管 VHD 的额外成本。如果使用此通道,默认情况下将禁用 Linux 无人参与升级

Azure Linux 在启用了 GPU VM 上不支持此通道。 SecurityPatch 适用于已弃用的补丁版本,只要次要 Kubernetes 版本仍然受支持。

NodeImage

AKS 将使用新修补的 VHD 来更新节点,其中包含每周一次的安全修复和 bug 修复。在维护时段和激增设置之后,对新 VHD 的更新是中断性的。选择此选项时不会产生额外的 VHD 成本。如果使用此通道,默认情况下将禁用 Linux 无人参与升级节点映像升级适用于已弃用的修补程序版本,只要仍然支持次要 Kubernetes 版本即可。

我们参考上述的策略并结合具体业务的实际情况,来设计AKS群集节点OS镜像的更新策略,除此之外,我们也要考虑的一点是群集节点的更新节奏,具体大家可以参考如下:

通道

更新所有权

默认节奏

Unmanaged

OS 驱动的安全更新。 AKS 无法控制这些更新。

对于 Ubuntu Azure Linux,在每晚大约凌晨 6 (UTC)对于 Windows,每月一次。

SecurityPatch

AKS

每周。

NodeImage

AKS

每周。

需要注意的是,默认节奏意味着没有应用计划内维护时段的。所以,如果您想使用自定义维护时间段的话,是需要进行单独的配置的,具体的配置方式,我们会在后续的文章中给大家进行介绍。

举报

相关推荐

0 条评论