如果 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
注解调整机器作业超时间隔。
以下示例将机器作业超时间隔设置为 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 preflight
、bmctl check -c CLUSTER_NAME
等。
调整批量作业超时间隔
批量作业是在多台机器上运行的例程,例如网络预检检查。Google Distributed Cloud 批量作业的默认超时间隔取决于网络中的机器数量。默认超时间隔为 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
升级现有集群时,系统会应用超时间隔值。