Cuando intentas modificar tu clúster de Google Kubernetes Engine (GKE) o sus grupos de nodos, es posible que tu acción se bloquee temporalmente 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 tu acción.
Esta información es importante tanto para los desarrolladores de aplicaciones, que pueden encontrar estos límites cuando implementan o modifican aplicaciones, como para los administradores y operadores de la plataforma, que administran el ciclo de vida general del clúster, las actualizaciones y deben solucionar problemas relacionados con tareas administrativas bloqueadas. Para obtener más información sobre los roles comunes y las tareas de ejemplo a los que hacemos referencia en el contenido deGoogle Cloud , consulta Roles de usuario y tareas comunes de GKE.
Información sobre 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 del clúster o de sus grupos de nodos. GKE administra estas operaciones, y tú o GKE pueden iniciarlas con fines de mantenimiento. Las operaciones de clúster comunes 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
- Reparaciones automáticas del plano de control iniciadas por GKE.
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,Creating
oUpdating
.CLUSTER_NAME
: Es el nombre del clúster al que se dirige la operación.
Estos errores se producen porque GKE limita la cantidad de operaciones que se pueden ejecutar al mismo tiempo para evitar conflictos. En general, GKE solo permite que se ejecute 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 incluyen en este límite y pueden impedir temporalmente que inicies una tarea nueva.
Cómo resolver 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 json
Reemplaza lo siguiente:
LOCATION
: La región o zona de Compute Engine (por ejemplo,us-central1
ous-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 este:
{ "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
name
de cada operación. Este valor es el nombre de la operación que impide que se inicie tu operación nueva. Necesitarás este valor en el siguiente paso.Para obtener más información sobre los otros campos del resultado, consulta la documentación de la API de
projects.locations.operations
.
Espera a que se complete la operación:
gcloud container operations wait OPERATION_NAME \ --location=LOCATION
Reemplaza
OPERATION_NAME
por 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-engine
para buscar problemas similares. También puedes unirte al canal de Slack#kubernetes-engine
para obtener más Asistencia de la comunidad. - Abrir errores o solicitudes de funciones con la herramienta de seguimiento de errores pública.