Puedes diagnosticar y resolver problemas que ocurren durante las actualizaciones de clústeres en Google Distributed Cloud, como tiempos de espera de operaciones, cambios de configuración que se rechazan o ignoran, y fallas en las verificaciones de solicitud preliminar. Para obtener más información sobre qué parámetros de configuración puedes actualizar, consulta Qué se puede actualizar en los clústeres y qué no.
Actualizar tiempo de espera
El tiempo de espera de la actualización se calcula de forma dinámica según los recursos que se actualizarán. Sin embargo, el cálculo no siempre es preciso. Cuando se agota el tiempo de espera de la actualización, se muestran errores similares a los siguientes:
En el clúster de usuario, haz lo siguiente:
Failed to update the cluster:...timed out waiting for the condition...En el clúster de administrador:
Failed to update the admin cluster:...timed out waiting for the condition...
Puedes ignorar este tipo de error de tiempo de espera y volver a intentar el comando de actualización. Si vuelves a intentar ejecutar el comando y se agota el tiempo de espera de nuevo con el mismo mensaje de error, comunícate con la Atención al cliente de Cloud.
La actualización contiene varios cambios
Los comandos gkectl update admin y gkectl update cluster no te permiten
actualizar varios parámetros de configuración en un solo comando. Si tu archivo de configuración cambia
más de un parámetro, el comando devuelve un error similar al siguiente
ejemplo:
Update summary for cluster X:
antiAffinityGroups: enabled to be set to true from false &config.AAGSpec{
- Enabled: false,
+ Enabled: true,
}
user master cpu to be set to 5 from 4 config.NodePoolProps{
Role: "master",
MachineType: "standard-master",
- CPUs: 4,
+ CPUs: 5,
MemoryMB: 8192,
Replicas: 3,
... // 2 identical fields
Labels: nil,
NodeTaints: nil,
- Vsphere: nil,
&config.NodePoolVsphereSpec{Datastore: "lifecycle-workloads1-datastore1"},
+ Vsphere: nil,
BootDiskSizeGB: nil,
OSImageType: "",
... // 5 identical fields
}
Exit with error:
Failed to update the cluster: the update contains multiple changes. Please
update only one feature at a time
Este error puede ocurrir por varios motivos, incluidos los siguientes:
- Un error o una configuración incorrecta.
- Ejecutaste
gkectl upgradeantes con la diferencia de configuración y esperabas que se aplicaran los cambios.gkectl upgradeno aplica ninguna diferencia de configuración, excepto el aumento de versión.
- Anteriormente, editaste la configuración de otra actualización de funciones, pero olvidaste
ejecutar el comando
gkectl update.
Si encuentras este error, revisa la diferencia en el mensaje de error y actualiza
la configuración requerida una por una con varios comandos gkectl update. Para ayudar
a identificar los cambios, puedes usar gkectl get-config para
generar archivos de configuración a partir de un clúster
y ver el estado y la configuración existentes.
Cambios no admitidos
Los comandos gkectl update cluster y gkectl update admin ignoran
los cambios no admitidos y muestran mensajes de error similares a los siguientes
ejemplos:
detected unsupported changes: (-current +desired)
...
- AdvancedNetworking: &true,
+ AdvancedNetworking: &false,
...
, which will be ignored
Si encuentras este error, revisa la diferencia en el mensaje de error y realiza las siguientes acciones:
- Si el cambio no es intencional, edita el archivo YAML de configuración y actualízalo solo con
los cambios correctos y previstos.
- En el ejemplo anterior, si no querías inhabilitar
AdvancedNetworking, estableceadvancedNetworking: trueen el archivo YAML de configuración.
- En el ejemplo anterior, si no querías inhabilitar
- Si el cambio es intencional, el error indica que no se admite. Realiza una de las siguientes acciones:
- Vuelve a crear el clúster si corresponde.
- Comunícate con el equipo de Atención al cliente de Cloud.
La imagen de SO no existe
Los comandos gkectl update cluster y gkectl update admin podrían fallar con
errores de verificación previa de OS Images similares a los siguientes ejemplos:
En el clúster de usuario, haz lo siguiente:
- Validation Category: OS Images - [FAILURE] User cluster OS images exist: os images [xxxx] don't exist, please run `gkectl prepare` to upload os images.En el clúster de administrador:
- Validation Category: OS Images - [FAILURE] Admin cluster OS images exist: os images [xxxx] don't exist, please run `gkectl prepare` to upload os images.
Estos errores pueden ocurrir si la imagen de SO se quitó de forma inesperada en tu entorno de vCenter, por ejemplo, por un trabajo de limpieza periódico.
Para volver a importar las imágenes de SO, ejecuta el siguiente comando de gkectl prepare:
gkectl prepare \
--bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz \
--kubeconfig ADMIN_CLUSTER_KUBECONFIG \
--skip-upload-container-images
No hay suficiente espacio libre en el almacén de datos para los grupos de nodos nuevos
Cuando agregas grupos de nodos nuevos, es posible que el comando gkectl update cluster falle con
errores de verificación previa de VSphere Datastore FreeSpace similares al siguiente
ejemplo:
- [FAILURE] VSphere Datastore FreeSpace: vCenter datastore: xxxx insufficient
FreeSpace, requires at least xxx GB
Este error indica que el almacén de datos no tiene suficiente espacio libre para los grupos de nodos nuevos. Para proporcionar suficiente espacio para que la actualización se realice correctamente, haz una de las siguientes acciones:
- Libera espacio del almacén de datos.
- Configura un almacén de datos
nodePools[].vsphere.datastorediferente para el grupo de nodos.
La actualización del clúster de usuario falla después de agregar direcciones IP a un grupo de direcciones IP de MetalLB
En un
clúster avanzado,
no puedes cambiar las direcciones IP de un grupo de direcciones existente en
loadBalancer.metalLB.addressPools. En la versión 1.33 y posteriores, todos los clústeres nuevos
son clústeres avanzados. Si agregas direcciones IP a un grupo de direcciones existente
y ejecutas gkectl update cluster, la configuración nueva se acepta y
se guarda, pero la actualización falla más adelante y el clúster de usuario permanece en el estado
UPDATING. La actualización falla con un error similar al siguiente:
admission webhook "vcluster.kb.io" denied the request: Cluster.baremetal.cluster.gke.io "CLUSTER_NAME" is invalid: spec.loadBalancer.addressPools: Forbidden: Fields should be immutable. ... If you want to add new addresses for load balancer, please add a new address pool with new addresses instead of updating an existing address pool.
Para agregar direcciones IP, agrega un grupo de direcciones nuevo que contenga las direcciones IP nuevas y mantén los grupos de direcciones existentes sin cambios. Para obtener más información, consulta Actualiza MetalLB.
Si tu clúster de usuario ya está atascado en el estado UPDATING, no quites las
direcciones IP agregadas del archivo de configuración del clúster de usuario, ya que también se rechaza
la eliminación de direcciones IP de un grupo de direcciones existente. En su lugar, comunícate con
Atención al cliente de Cloud
para obtener ayuda con la recuperación del clúster.
¿Qué sigue?
Si necesitas asistencia adicional, comunícate con Atención al cliente de Cloud.
También puedes consultar Cómo obtener asistencia para obtener más información sobre los recursos de asistencia, incluidos los siguientes:
- Requisitos para abrir un caso de asistencia.
- Herramientas para ayudarte a solucionar problemas, como registros y métricas.
- Componentes, versiones y funciones compatibles de Google Distributed Cloud para VMware (solo software).