如果 Google Distributed Cloud 中的作业超时,并且您认为这种行为并不是安装的根本问题导致的,您可以增加超时间隔。本文档介绍如何使用配置规范中的注解调整机器作业和批量作业的超时间隔。
如果您需要其他帮助,请与 Cloud Customer Care 联系。
作业类型和错误
Google Distributed Cloud 命令和例程分为两类:机器作业和批量作业。有很多因素会影响作业完成所需的时间,如硬件配置、网络配置和集群配置。Google Distributed Cloud 具有默认超时,旨在满足典型安装的需求。
以下是作业超时错误消息示例:
预检日志(例如
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
调整机器作业超时间隔
机器作业是仅在一个机器上运行的例程,例如仅限于单个机器的预检检查。Google Distributed Cloud 机器作业的默认超时为 900 秒(即 15 分钟)。您可以使用集群配置文件中的 baremetal.cluster.gke.io/machine-job-deadline-seconds
注解调整机器作业超时间隔。
以下示例将机器作业超时间隔设置为 1,800 秒或 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 preflight
、bmctl check -c CLUSTER_NAME
等。
调整批量作业超时间隔
批量作业是在多台机器上运行的例程,例如网络预检检查。Google Distributed Cloud 批量作业的默认超时间隔取决于网络中的机器数量。默认超时间隔为 900 秒,然后每个机器加 20 秒。
例如,如果批量作业在 60 个机器上运行,则默认超时间隔为 2,100 秒 (900 + (20 * 60) = 2100) 或 35 分钟。
您可以使用集群配置文件中的 baremetal.cluster.gke.io/batch-job-deadline-seconds
注解调整批量作业超时间隔。
以下示例将批量作业超时间隔设置为 10,800 秒或 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 联系。