Si les tâches dans Google Distributed Cloud expirent et que vous pensez que le comportement n'est pas dû à un problème sous-jacent de votre installation, vous pouvez augmenter l'intervalle d'expiration du délai. Ce document explique comment ajuster les intervalles d'expiration pour les jobs machine et les jobs par lot à l'aide d'annotations dans la spécification de configuration.
Si vous avez besoin d'aide supplémentaire, contactez l'assistance Cloud Customer Care.Types de tâches et erreurs
Il existe deux types de commandes et de routines Google Distributed Cloud: les tâches de machine et les tâches par lot. De nombreux éléments peuvent affecter le temps nécessaire à l'exécution d'une tâche, tels que la configuration matérielle, réseau et de cluster. Google Distributed Cloud dispose de délais avant expiration par défaut destinés à s'adapter aux installations types.
Voici des exemples de messages d'erreur liés au délai d'expiration des tâches:
Un message d'erreur lié au délai avant expiration du job de machine (encapsulé pour plus de clarté) issu d'un journal de pré-vérification, tel que
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 (encapsulé):cluster-cluster1 172.18.0.4-machine-preflf3a32c8a2f7a2449545c7e8ff954c961-652st ● 0/1 0 DeadlineExceeded 192.168.122.180 bmctl-control-plane 7m12
Ajuster l'intervalle d'expiration du 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 l'intervalle d'expiration du job 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 l'intervalle d'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 de l'intervalle d'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 nouvel intervalle est utilisé pour toutes les tâches de machine unique, y compris bmctl check preflight
et bmctl check -c CLUSTER_NAME
.
Ajuster l'intervalle d'expiration du job par lot
Une tâche 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 pour les tâches par lot Google Distributed Cloud dépend du nombre de machines sur le réseau. Le délai avant expiration par défaut est de 900 secondes, plus 20 secondes supplémentaires pour chaque machine.
Par exemple, si votre job par lot s'exécute sur 60 machines, l'intervalle avant expiration par défaut est de 2 100 secondes (900 + (20 * 60) = 2100), soit 35 minutes.
Vous pouvez ajuster l'intervalle d'expiration du job par lot à l'aide de l'annotation baremetal.cluster.gke.io/batch-job-deadline-seconds
dans le fichier de configuration du cluster.
L'exemple suivant définit l'intervalle d'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 de l'intervalle d'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
.