Ajusta los valores de tiempo de espera de los trabajos

Si los trabajos agotan el tiempo de espera y crees que el tiempo de espera no se debe a un problema subyacente con la instalación, puedes aumentar el intervalo de este período. En este documento, se describe cómo ajustar los intervalos de tiempo de espera para los trabajos de máquinas y por lotes con anotaciones a las especificaciones de configuración.

Los comandos y rutinas de Bare Metal se dividen en dos categorías: trabajos de máquina y trabajos por lotes. Muchos aspectos pueden afectar el tiempo que tarda un trabajo en completarse, como la configuración del hardware, de la red y del clúster. GKE en Bare Metal tiene tiempos de espera predeterminados diseñados para adaptarse a las instalaciones típicas.

Estos son algunos ejemplos de dónde puedes encontrar los mensajes de error de tiempo de espera del trabajo:

  • Mensaje de error de tiempo de espera para trabajos de máquina (unido para mayor claridad) de un registro de comprobación previa, por ejemplo, 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
    
  • El resultado de kubectl logs para un pod con errores puede mostrar un mensaje DeadlineExceeded similar (unido):

    cluster-cluster1
    172.18.0.4-machine-preflf3a32c8a2f7a2449545c7e8ff954c961-652st  ●  0/1
    0 DeadlineExceeded  192.168.122.180  bmctl-control-plane  7m12
    

Ajusta el intervalo de tiempo de espera para trabajos de máquina

Un trabajo de máquina es una rutina que se ejecuta solo en una máquina, como una verificación previa que se limita a una sola máquina. GKE en trabajos de máquina de Bare Metal tienen un tiempo de espera predeterminado de 900 segundos o 15 minutos. El intervalo de tiempo de espera para los trabajos de la máquina se ajusta con la anotación baremetal.cluster.gke.io/machine-job-deadline-seconds en el archivo de configuración del clúster.

En el siguiente ejemplo, se establece el intervalo de tiempo de espera para un trabajo de la máquina en 1800 segundos o 30 minutos:

   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:
   ...

El valor del intervalo de tiempo de espera se aplicará cuando crees clústeres nuevos con bmctl create cluster o cuando actualices clústeres existentes con bmctl upgrade cluster. El nuevo intervalo se usará para todos los trabajos de una sola máquina, incluidos bmctl check preflight, bmctl check -c <cluster-name> y más.

Ajusta el intervalo de tiempo de espera para trabajos por lotes

Un trabajo por lotes es una rutina que se ejecuta en varias máquinas, como una verificación previa de red. El intervalo de tiempo de espera predeterminado para los trabajos por lotes de GKE en Bare Metal depende de la cantidad de máquinas en la red. El intervalo de tiempo de espera predeterminado es de 900 segundos, además de 20 segundos adicionales para cada máquina. Por lo tanto, si tu trabajo por lotes se ejecuta en 60 máquinas, el intervalo de tiempo de espera predeterminado es de 2,100 segundos (900 + 20 * 60 = 2,100) o 35 minutos. El intervalo de tiempo de espera para los trabajos por lotes se ajusta con la anotación baremetal.cluster.gke.io/batch-job-deadline-seconds en el archivo de configuración del clúster.

En el siguiente ejemplo, se establece el intervalo de tiempo de espera para un trabajo por lotes en 10,800 segundos o 3 horas:

   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:
   ...

El valor del intervalo de tiempo de espera se aplicará cuando crees clústeres nuevos con bmctl create cluster o cuando actualices clústeres existentes con bmctl upgrade cluster.