GKE 集群的维护时段

Posted

技术标签:

【中文标题】GKE 集群的维护时段【英文标题】:Maintenance window for GKE clusters 【发布时间】:2021-05-31 15:21:28 【问题描述】:

我知道,

“您必须在 32 天的滚动窗口中允许至少 48 小时的维护可用性”

因此,我们将集群的维护窗口配置为在集群创建期间使用 terraform 动态设置:

maintenance_policy 
recurring_window 
   start_time = timeadd(timestamp(),”720h”)
   end_time   = timeadd(timestamp(),”768h”)
   recurrence = “FREQ=MONTHLY”


所以基本上设置了一个每月维护窗口,其中start time 是集群创建后的 30 天。

我们之前没有遇到此配置的任何问题,但是当我在 3 月 1 日尝试使用此配置时,terraform 正确地将 start_time 评估为 3 月 31 日,但 GKE 没有并将开始时间设置为 4 月 2 日,由于超出 32 天窗口,因此会引发错误。

Error: googleapi : Error 400: Error validating maintenance policy: maintenance policy would go longer than 32d without 48h maintenance availability of >=4h contiguous duration (in time range [2021-04-02T04:25:38Z, 2021-05-04T04:25:38Z])., badRequest

我们尝试对几个值进行硬编码,但观察到了一些差异,其中 start_time 在每月 30 日和 31 日等日子下降。

我没有发现任何关于特定日期的例外情况的文档,任何线索都将不胜感激!

【问题讨论】:

如果您认为这可能是 GKEgoogleapi 中的错误,您可以在 Google 的 公众号 create a new issue问题跟踪器。 【参考方案1】:

您在 GKE 中的维护时段不能超过 30 天。如果您有超过 30 天的维护窗口,则必须将它们分解为多个排除窗口,并确保一个结束时间和开始时间之间的差异至少为 48 小时。

因此,例如,如果在 2021 年 10 月 1 日和 2021 年 12 月 31 日之间存在维护排除,则将被定义为这样

排除窗口 1: 结束时间:'2021-10-30T00:00:00Z' 开始时间:'2021-10-01T00:00:00Z'

排除窗口 2: 结束时间:'2021-11-30T00:00:00Z' 开始时间:'2021-11-01T00:00:00Z'

排除窗口 3: 结束时间:'2021-12-31T00:00:00Z' 开始时间:'2021-12-02T00:00:00Z'

【讨论】:

以上是关于GKE 集群的维护时段的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用节点自动修复

Google Cloud SQL 维护时段

powershell 使用CSV文件设置维护时段。

text 使用CSV文件设置维护时段。配置文件模板。

text 使用CSV文件设置维护时段。邮件设置文件模板。

在 SCCM 2012 中将应用程序部署到 USER 集合时是不是可以使用维护时段?