【问题标题】:Maintenance window for GKE clustersGKE 集群的维护时段
【发布时间】: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问题跟踪器。

标签: google-cloud-platform terraform google-kubernetes-engine auto-update maintenance


【解决方案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'

【讨论】:

    猜你喜欢
    • 2021-05-23
    • 2023-02-01
    • 2012-08-04
    • 2018-07-02
    • 2019-06-06
    • 1970-01-01
    • 2021-11-15
    • 1970-01-01
    • 2021-12-06
    相关资源
    最近更新 更多