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