Si des jobs dans Google Distributed Cloud dépassent le délai avant expiration et que vous pensez que ce comportement n'est pas dû à un problème sous-jacent lié à votre installation, vous pouvez augmenter le délai avant expiration. Ce document explique comment ajuster les délais avant expiration des jobs de machine et des jobs par lot à l'aide d'annotations dans les spécifications de configuration.
Si vous avez besoin d'aide supplémentaire, contactez l'assistance Cloud Customer Care.Types de jobs et erreurs
Il existe deux types de commandes et de routines Google Distributed Cloud : les jobs de machine et les jobs par lot. De nombreux facteurs peuvent affecter le temps d'exécution d'un job, comme la configuration matérielle, la configuration réseau et la configuration du cluster. Google Distributed Cloud dispose de délais avant expiration par défaut qui visent à répondre aux besoins d'installations types.
Voici des exemples de messages d'erreur d'expiration de job :
Message d'erreur d'expiration d'un job de machine (encapsulé pour plus de clarté) dans un journal de vérification préliminaire, par exemple
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
Le résultat de
kubectl logs
pour un pod défaillant peut afficher un messageDeadlineExceeded
semblable au suivant (encapsulé) :cluster-cluster1 172.18.0.4-machine-preflf3a32c8a2f7a2449545c7e8ff954c961-652st ● 0/1 0 DeadlineExceeded 192.168.122.180 bmctl-control-plane 7m12
Ajuster le délai avant expiration d'un job de machine
Une tâche de machine est une routine qui ne s'exécute que sur une seule machine, comme une vérification préliminaire qui est limitée à une seule machine. Les jobs de machine Google Distributed Cloud ont un délai avant expiration par défaut de 900 secondes, soit 15 minutes. Vous pouvez ajuster le délai avant expiration du jib de machine à l'aide de l'annotation baremetal.cluster.gke.io/machine-job-deadline-seconds
dans le fichier de configuration du cluster.
L'exemple suivant définit le délai avant expiration du job de machine sur 1 800 secondes, soit 30 minutes :
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:
...
La valeur du délai avant expiration est appliquée lorsque vous créez des clusters avec bmctl create cluster
ou lorsque vous mettez à niveau des clusters existants avec bmctl upgrade
cluster
. Le nouveau délai est utilisé pour tous les jobs de machine individuels, y compris bmctl check preflight
, bmctl check -c CLUSTER_NAME
, et plus.
Ajuster le délai avant expiration d'un job par lot
Un job par lot est une routine exécutée sur plusieurs machines, telle qu'une vérification préliminaire du réseau. Le délai avant expiration par défaut des jobs par lot Google Distributed Cloud dépend du nombre de machines dans le réseau. Le délai avant expiration par défaut est de 900 secondes, auquel s'ajoutent 20 secondes supplémentaires pour chaque machine.
Par exemple, si votre job par lot s'exécute sur 60 machines, le délai avant expiration par défaut est de 2 100 secondes (900 + (20 * 60) = 2 100), soit 35 minutes.
Vous pouvez ajuster le délai avant expiration du job par lot avec l'annotation baremetal.cluster.gke.io/batch-job-deadline-seconds
dans le fichier de configuration du cluster.
L'exemple suivant définit le délai avant expiration du job par lot sur 10 800 secondes, soit 3 heures :
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:
...
La valeur du délai avant expiration est appliquée lorsque vous créez des clusters avec bmctl create cluster
ou lorsque vous mettez à niveau des clusters existants avec bmctl upgrade
cluster
.