Cuando intentas modificar tu clúster de Google Kubernetes Engine (GKE) o sus grupos de nodos, es posible que tu acción se bloquee de forma temporal porque se está ejecutando otra operación. Este problema puede retrasar las actualizaciones críticas, la administración del clúster y las implementaciones de aplicaciones.
Usa esta página para aprender a identificar la operación que se está ejecutando. Comprender la operación activa te ayuda a estimar la demora y determinar cuándo volver a intentar la acción.
Esta información es importante para los desarrolladores de aplicaciones, que pueden encontrar estos límites cuando implementan o modifican aplicaciones, y para los administradores y operadores de plataformas, que administran el ciclo de vida general del clúster, las actualizaciones y necesitan solucionar problemas de tareas administrativas bloqueadas. Para obtener más información sobre los roles comunes y las tareas de ejemplo a las que hacemos referencia en el contenido deGoogle Cloud , consulta Roles y tareas comunes del usuario de GKE.
Comprende los errores de operaciones simultáneas
En GKE, una operación de clúster es una acción que modifica el estado del plano de control o los grupos de nodos de tu clúster. GKE administra estas operaciones, y tú o GKE pueden iniciarlas con fines de mantenimiento. Las operaciones comunes de clústeres incluyen las siguientes:
- Crear o borrar el clúster
- Se está actualizando la versión del plano de control del clúster.
- Crear, actualizar, cambiar el tamaño o borrar grupos de nodos
- Modificar la configuración a nivel del clúster, como habilitar o inhabilitar funciones
- GKE inicia reparaciones automáticas del plano de control.
Cuando realices operaciones en tus clústeres, es posible que veas mensajes de error similares a los siguientes:
Cluster is running incompatible operation OPERATION_NAME
Cluster is currently being created, deleted, updated or repaired and cannot be updated
Operation OPERATION_NAME is currently ACTIONING cluster CLUSTER_NAME. Please wait and try again once it is done
Estos errores pueden incluir los siguientes valores:
OPERATION_NAME: Es el ID único de una operación que ya se está ejecutando en tu clúster. Usa este nombre para hacer un seguimiento del estado de esta operación preexistente que impide que se inicie tu operación nueva.ACTIONING: Es la acción que se realiza en el clúster. Por ejemplo,CreatingoUpdating.CLUSTER_NAME: Es el nombre del clúster al que se dirige la operación.
Estos errores ocurren porque GKE limita la cantidad de operaciones que se pueden ejecutar al mismo tiempo para evitar conflictos. Por lo general, GKE permite que se ejecute solo una operación a nivel del clúster o una operación por grupo de nodos de forma simultánea. GKE también realiza sus propias acciones automáticas, como las actualizaciones del plano de control, que se consideran para este límite y pueden impedirte temporalmente iniciar una tarea nueva.
Resuelve errores de operaciones simultáneas
Si recibes un error que indica que hay otra operación en curso, identifica la tarea en curso y espera a que finalice:
Si no conoces el nombre de la operación de bloqueo, enumera todas las operaciones en curso y pendientes de tu clúster:
gcloud container operations list \ --location=LOCATION \ --filter '(targetLink~/clusters/CLUSTER_NAME$ OR targetLink~/clusters/CLUSTER_NAME/) AND status!=DONE' \ --format jsonReemplaza lo siguiente:
LOCATION: La región o zona de Compute Engine (por ejemplo,us-central1ous-central1-a) para el clúster, según si tu clúster es regional o zonal.CLUSTER_NAME: Es el nombre del clúster con la operación fallida.El resultado es similar a lo siguiente:
{ "name": "operation-0978307200000-00112233-4455-6677-8899-aabbccddeeff", "operationType": "UPDATE_CLUSTER", "selfLink": "https://container.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-0978307200000-00112233-4455-6677-8899-aabbccddeeff", "startTime": "2001-01-01T00:00:00.000000000Z", "status": "RUNNING", "targetLink": "https://container.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_NAME/nodePools/NODE_POOL_NAME", "zone": "LOCATION" }En el resultado, revisa el campo
namede cada operación. Este valor es el nombre de la operación que impide que se inicie la operación nueva. Necesitarás este valor para el siguiente paso.Para obtener más información sobre los otros campos en el resultado, consulta la documentación de la API para
projects.locations.operations.
Espera a que se complete la operación:
gcloud container operations wait OPERATION_NAME \ --location=LOCATIONReemplaza
OPERATION_NAMEpor el nombre de una operación de bloqueo que se muestra en un mensaje de error o en el paso anterior.Este comando supervisa activamente la operación y sale cuando se completa.
Después de que la operación de bloqueo tenga el estado
DONE, vuelve a intentar la operación que causó el error.
¿Qué sigue?
Si no encuentras una solución a tu problema en la documentación, consulta Obtener asistencia para obtener más ayuda, como asesoramiento en los siguientes temas:
- Comunicarse con Atención al cliente de Cloud para abrir un caso de asistencia.
- Hacer preguntas en StackOverflow para obtener asistencia de
la comunidad y usar la etiqueta
google-kubernetes-enginepara buscar problemas similares. También puedes unirte al canal de Slack#kubernetes-enginepara obtener más Asistencia de la comunidad. - Abrir problemas o solicitudes de funciones con la herramienta de seguimiento de errores pública.