调整作业超时值

如果 GKE on Bare Metal 中的作业超时,并且您认为行为不是由安装的底层问题所致,则可以增加超时间隔。本文档介绍了如何使用配置规范中的注释来调整机器作业和批量作业的超时间隔。

如果您需要其他帮助,请与 Cloud Customer Care 联系。

作业类型和错误

GKE on Bare Metal 命令和例程有两种类型:机器作业和批量作业。许多因素都会影响完成作业所需的时间,例如硬件配置、网络配置和集群配置。GKE on Bare Metal 具有默认超时,旨在满足典型安装的需求。

以下是作业超时错误消息示例:

  • 来自预检日志(如 bmctl-workspace/cluster1/logs/preflight-20210501-000426/172.18.0.4)的机器作业超时错误消息(为清楚起见,已进行封装):

    Pod:172.18.0.4-machine-preflf3a32c8a2f7a2449545c7e8ff954c961-652st
    Result:Failed Reason:DeadlineExceeded Time:Wed Feb  3 16:59:56 2021
    
  • 对于失败的 Pod,kubectl logs 的输出可能会显示类似的 DeadlineExceeded 消息(已封装):

    cluster-cluster1
    172.18.0.4-machine-preflf3a32c8a2f7a2449545c7e8ff954c961-652st  ●  0/1
    0 DeadlineExceeded  192.168.122.180  bmctl-control-plane  7m12
    

调整机器作业超时间隔

机器作业是仅在一个机器上运行的例程,例如仅限于单个机器的预检检查。GKE on Bare Metal 机器作业的默认超时为 900 秒(即 15 分钟)。您可以使用集群配置文件中的 baremetal.cluster.gke.io/machine-job-deadline-seconds 注解来调整机器作业超时间隔。

以下示例将机器作业超时间隔设置为 1800 秒(即 30 分钟):

   apiVersion: baremetal.cluster.gke.io/v1
   kind: Cluster
   metadata:
     name: cluster1
     namespace: cluster-cluster1
     annotations:
       baremetal.cluster.gke.io/machine-job-deadline-seconds: "1800"
   spec:
   ...

当您使用 bmctl create cluster 创建新集群或使用 bmctl upgrade cluster 升级现有集群时,系统会应用超时间隔值。新的时间间隔用于所有单机器作业,包括 bmctl check preflightbmctl check -c CLUSTER_NAME 等。

调整批量作业超时间隔

批量作业是在多台机器上运行的例程,例如网络预检检查。GKE on Bare Metal 批量作业的默认超时间隔取决于网络中的机器数量。默认的超时间隔为 900 秒,再加上每台机器的 20 秒。

例如,如果批量作业在 60 台机器上运行,则默认超时间隔为 2100 秒 (900 + (20 * 60) = 2100),即 35 分钟。

您可以使用集群配置文件中的 baremetal.cluster.gke.io/batch-job-deadline-seconds 注解来调整批量作业的超时间隔。

以下示例将批量作业超时间隔设置为 10800 秒(即 3 小时):

   apiVersion: baremetal.cluster.gke.io/v1
   kind: Cluster
   metadata:
     name: cluster1
     namespace: cluster-cluster1
     annotations:
       baremetal.cluster.gke.io/batch-job-deadline-seconds: "10800"
   spec:
   ...

当您使用 bmctl create cluster 创建新集群或使用 bmctl upgrade cluster 升级现有集群时,系统会应用超时间隔值。

后续步骤

如果您需要其他帮助,请与 Cloud Customer Care 联系。