本页面介绍维护期和维护排除项,它们控制可以和不能在 Google Kubernetes Engine 集群上进行集群维护(例如自动升级)的时间。例如,零售企业可以将维护操作限制为仅在工作日晚上进行,并且可以在重要的行业销售活动期间阻止自动维护操作。
概览
现在,借助维护期和排除项,您可以精确控制可以在集群上进行自动维护的时间。
维护期是允许进行自动维护的任意重复性时间段。
维护排除项是禁止进行自动维护的任意非重复性时间段。一个集群一次最多可以有三个维护排除项。
您可以分开、单独配置维护期和维护排除项。您可以配置多个维护排除项。
自动维护示例
Google 会根据需要或者在您更改配置(重新创建集群中的节点或网络)时,在集群上执行维护任务。例如:
- 根据 GKE 的版本政策自动升级集群控制层面(主服务器)
- 节点自动升级(如果已启用)
- 用户执行的配置更改(导致重新创建节点),例如 GKE Sandbox。
- 用户执行的配置更改(从根本上更改了集群的内部网络拓扑),例如优化 IP 地址分配
这些类型的某些维护(例如集群和节点升级)很难预测和规划。地区级集群在其控制层面升级(包括部署工作负载)时无法修改。在重新创建节点期间从每个节点转移工作负载时,上面列出的所有其他类型的更改都会导致工作负载暂时中断。
维护期
借助维护期,您能够控制可以进行控制层面和节点自动升级的时间,以缓解工作负载可能暂时中断的情况。维护期适用于以下类型的场景和其他类似的场景:
- 非高峰时段:您想要在流量减少的非高峰时段内安排自动升级以最大限度地减小停机的可能性。
- 随时待命:您想要确保在工作时间内进行升级,以便有人可以监控升级并管理任何意外问题。
- 多集群升级:您想要以指定的时间间隔在不同区域的多个集群中发布升级(一次一个区域)。
除了自动升级之外,Google 偶尔还需要执行其他维护任务,并尽可能遵循集群的维护期。
如果任务运行超出了维护期,则 GKE 会尝试暂停操作,并尝试在下一个维护期继续执行操作。
GKE 保留在维护期之外发布计划外紧急升级的权利。此外,对弃用或过时软件的强制升级可能会在维护期之外自动进行。
您可以为新集群或现有集群配置维护期。
维护期的注意事项
维护期和排除项可能会导致安全补丁程序延迟安装。GKE 保留为防范重大安全漏洞而忽略维护政策的权利。在启用维护期之前,请务必了解以下注意事项。
其他 Google Cloud 维护
GKE 集群和工作负载还可能会受到其他依赖服务(例如 Compute Engine)自动维护的影响。维护期和排除项不会影响其他服务的自动维护。
自动修复和调整大小
GKE 会对控制层面执行自动修复操作。此类操作包括将控制层面纵向扩容到适当大小或者重启控制层面以解决问题等流程。大多数修复操作都会忽略维护期和排除项,这是因为,如果不执行修复操作,则集群可能无法正常运行。修复控制层面无法停用。
节点还具有自动修复功能,但可以停用。
节点重新创建和维护期
如果您启用或修改某些功能或选项(例如影响集群控制层面和节点之间的网络的功能或选项),则系统会重新创建节点以应用新配置。以下是一些导致节点重新创建的功能示例:
如果您使用了维护期,并且启用或修改了需要重新创建节点的功能或选项,则新配置只会在维护期内应用到节点。如果您不想等待,可将 --cluster-version
标志设置为节点已在运行的同一 GKE 版本,从而手动将节点池“升级”到它已在使用的版本。如果您使用此解决方案,则必须使用 gcloud
命令。
每个集群有一个维护期
每个集群只能配置一个维护期。如果配置新的维护期,则新维护期会覆盖它的上一个维护期。
维护期的时区
在配置和查看维护期时,时间的显示方式会因您使用的工具而有所不同:
配置维护期时
使用较旧的 --maintenance-window
标志配置维护期时,您无法指定时区。使用 gcloud
命令或 API 时,系统会使用世界协调时间 (UTC),而 Google Cloud Console 会使用本地时区显示时间。
如果使用更精细的标志(例如 --maintenance-window-start
),您可以将时区指定为值的一部分。如果省略时区,则系统会使用本地时区。时间始终以世界协调时间 (UTC) 格式存储。
查看维护期时
查看集群的相关信息时,维护期的时间戳可能会以世界协调时间 (UTC) 格式或本地时区显示,具体取决于您查看信息的方式:
- 使用 Google Cloud Console 查看集群的相关信息时,时间始终以本地时区显示。
- 使用
gcloud
查看集群的相关信息时,时间始终以世界协调时间 (UTC) 格式显示。
维护排除项
借助维护排除项,您可以防止在特定时间段内进行自动维护。例如,许多零售企业都制定了业务准则,禁止在年末假日期间更改基础架构。
您最多可以添加三个排除项。您必须为 Google 预留足够的时间来维护您的集群,以便继续使用受支持的配置。
排除项没有重复周期。请分别创建定期排除项的每个实例。
您可以为新集群或现有集群配置维护排除项。