Azure Kubernetes 服务 (AKS) 群集需要定期更新,以确保安全性以及与最新功能的兼容性。 AKS 群集有两个组件需要维护:
- 群集 Kubernetes 版本:AKS 群集生命周期的一部分涉及升级到最新的 Kubernetes 版本。 请务必升级以应用最新的安全版本并访问最新的 Kubernetes 功能,并使自己始终停留在 AKS 支持时段内。
- 节点映像版本:AKS 定期为新的节点映像提供最新的 OS 和运行时更新。 定期升级节点的映像是有益的,可以确保支持最新的 AKS 功能,并应用基本的安全修补程序和热修补程序。
对于 Linux 节点,节点映像安全补丁和修补程序无需作为无人参与更新启动即可执行。 这些更新会自动应用,但 AKS 不会自动重启 Linux 节点以完成更新过程。 需要使用 kured 或节点映像升级等工具来重启节点并完成循环。
下表汇总了有关如何更新每个组件的详细信息:
组件名称 | 升级频率 | 支持计划内维护 | 支持的操作方法 | 支持的操作方法(多集群) | 文档链接 |
---|---|---|---|---|---|
群集 Kubernetes 版本升级(次要) | 大约三个月一次 | 是的 | 自动、手动 | 自动、手动 | 升级 AKS 群集、 多群集升级 |
集群 Kubernetes 版本升级(补丁) | 大约每周一次。 若要确定所在区域的最新适用版本,请参阅 AKS 版本跟踪器 | 是的 | 自动、手动 | 手动 | 升级 AKS 群集、 多群集升级 |
节点映像版本升级 | Linux:每周一次 Windows:每月一次 |
是的 | 自动、手动 | 自动、手动 | AKS 节点映像升级、 多群集升级 |
节点镜像的安全修补程序和热修复 | 根据需要 | 不支持 | AKS 节点安全补丁 |
多集群升级
如果有多个群集,在升级过程中应包括的一个重要做法是记住要遵循常用的部署和测试模式。 在生产环境中部署之前在开发或测试环境中测试升级是确保应用程序的功能性和与目标环境的兼容性的重要步骤。 它可以帮助你识别和修复可能影响应用程序或底层基础结构的性能、安全性或可用性的任何错误、bug 或问题。
Azure Kubernetes Fleet Manager 内置了 对多群集升级 的支持,该升级实现了上述最佳做法,以最大程度地减少群集升级导致的应用程序中断。 除了允许自定义多个群集升级的顺序外,它还允许在不同区域中的群集之间使用一致的节点 OS 映像版本。
自动升级
可以通过自动升级通道或 GitHub Actions 执行自动升级。
可以通过 Azure Kubernetes Fleet Manager 执行自动多群集升级,以在生产之前采用测试和验证开发或测试环境中的升级的最佳做法。
计划内维护
通过计划内维护,可以安排每周维护时段,以便更新控制平面以及 kube-system Pod,尽量降低工作负荷影响。
故障排除
若要查找特定问题的详细信息和解决方案,请查看以下故障排除指南:
后续步骤
若要详细了解哪些群集操作可能会触发特定升级事件、升级最佳做法以及其他注意事项,请参阅 AKS 操作员的修补指南。