Ajuster les valeurs de délai avant expiration des tâches

Si des tâches dans GKE sur une solution Bare Metal expirent et que vous pensez que le comportement n'est pas dû à un problème sous-jacent lié à votre installation, vous pouvez augmenter l'intervalle du délai avant expiration. Ce document explique comment ajuster les intervalles de délai avant expiration pour les tâches machine et 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 GKE sur Bare Metal: les tâches de machine et les tâches par lots. De nombreux facteurs peuvent affecter le temps nécessaire à l'exécution d'une tâche, tels que la configuration matérielle, la configuration réseau et la configuration du cluster. GKE sur Bare Metal dispose de délais d'inactivité par défaut destinés à accueillir des installations classiques.

Voici des exemples de messages d'erreur liés au délai avant expiration d'un job:

  • Message d'erreur lié au délai avant expiration du job de la machine (encapsulé pour plus de clarté) provenant d'un journal préliminaire 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 en échec peut afficher un message DeadlineExceeded similaire (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 des jobs de la 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 tâches de machine GKE sur Bare Metal ont un délai avant expiration par défaut de 900 secondes, soit 15 minutes. Vous pouvez ajuster l'intervalle d'expiration des tâches de la machine avec 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 d'un 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 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 nouvel intervalle est utilisé pour toutes les tâches de machine unique, y compris bmctl check preflight, bmctl check -c CLUSTER_NAME, etc.

Ajuster l'intervalle d'expiration des 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 des tâches par lot GKE sur Bare Metal 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 d'expiration par défaut est de 2 100 secondes (900 + (20 * 60) = 2 100), soit 35 minutes.

Vous pouvez ajuster l'intervalle du délai avant expiration des 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 l'intervalle d'expiration des job par lot sur 10 800 secondes, soit trois 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 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.

Étapes suivantes

Si vous avez besoin d'une aide supplémentaire, contactez Cloud Customer Care.