Si se agota el tiempo de espera de los trabajos en Google Distributed Cloud y crees que el comportamiento no se debe a un problema subyacente con la instalación, puedes aumentar el intervalo de tiempo de espera. En este documento, se describe cómo ajustar los intervalos de tiempo de espera para los trabajos de máquina y por lotes mediante el uso de anotaciones en las especificaciones de configuración.
Si necesitas asistencia adicional, comunícate con Atención al cliente de Cloud.Tipos de trabajos y errores
Existen dos tipos de comandos y rutinas de Google Distributed Cloud: trabajos de máquina y trabajos por lotes. Muchos factores pueden afectar el tiempo que tarda un trabajo en completarse, como la configuración de hardware, de red y del clúster. Google Distributed Cloud tiene tiempos de espera predeterminados diseñados para adaptarse a las instalaciones típicas.
A continuación, se muestran ejemplos de mensajes de error de tiempo de espera del trabajo:
Un mensaje de error de tiempo de espera de trabajo de máquina (unido para que sea claro) de un registro de comprobación previa como
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 mensajeDeadlineExceeded
similar (unido):cluster-cluster1 172.18.0.4-machine-preflf3a32c8a2f7a2449545c7e8ff954c961-652st ● 0/1 0 DeadlineExceeded 192.168.122.180 bmctl-control-plane 7m12
Cómo ajustar el intervalo de tiempo de espera del trabajo 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. Los trabajos de máquina de Google Distributed Cloud tienen un tiempo de espera predeterminado de 900 segundos o 15 minutos. Puedes ajustar el intervalo de tiempo de espera del trabajo de máquina 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 del trabajo de máquina en 1,800 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 aplica cuando creas clústeres nuevos con bmctl create cluster
o cuando actualizas clústeres existentes con bmctl upgrade
cluster
. El intervalo nuevo se usa para todos los trabajos de una sola máquina, incluidos bmctl check preflight
, bmctl check -c CLUSTER_NAME
y muchos más.
Cómo ajustar el intervalo de tiempo de espera del trabajo 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 Google Distributed Cloud depende de la cantidad de máquinas en la red. El intervalo de tiempo de espera predeterminado es de 900 segundos, más 20 segundos adicionales para cada máquina.
Por ejemplo, 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.
Puedes ajustar el intervalo de tiempo de espera del trabajo por lotes 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 del 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 aplica cuando creas clústeres nuevos con bmctl create cluster
o cuando actualizas clústeres existentes con bmctl upgrade
cluster
.