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 日等日子下降。
我没有发现任何关于特定日期的例外情况的文档,任何线索都将不胜感激!
【问题讨论】:
如果您认为这可能是 GKE 或 googleapi 中的错误,您可以在 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 集群的维护时段的主要内容,如果未能解决你的问题,请参考以下文章