Si tienes problemas para actualizar Google Distributed Cloud, las siguientes secciones pueden ayudarte a solucionar el problema. Para obtener más información sobre las opciones de configuración que se pueden actualizar, consulta Qué puede y no se puede actualizar en los clústeres.
Si necesitas asistencia adicional, comunícate con Atención al cliente de Cloud.Tiempo de espera de actualización
El tiempo de espera de la actualización se calcula de forma dinámica en función de 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, haz lo siguiente:
Failed to update the admin cluster:...timed out waiting for the condition...
Este tipo de error de tiempo de espera se puede ignorar de forma segura y puedes volver a ejecutar el comando de actualización. Si vuelves a ejecutar el comando y se agota el tiempo de espera con el mismo mensaje de error, comunícate con Atención al cliente de Cloud.
La actualización contiene varios cambios
Los comandos gkectl update admin
y gkectl update cluster
no permiten actualizar varias opciones de configuración en un solo comando. Cuando la configuración contiene una diferencia con varias configuraciones que se cambian y se muestra 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 deberse a varios motivos, entre los que se incluyen los siguientes:
- Un error o una configuración incorrecta.
- Antes ejecutaste
gkectl upgrade
con la diferencia de configuración y esperabas que se aplicaran los cambios.gkectl upgrade
no aplica ninguna diferencia de configuración, excepto el cambio de versión.
- Ya editaste la configuración de otra actualización de funciones, pero olvidaste ejecutar el comando
gkectl update
.
Si experimentas este comportamiento, 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 compatibles y muestran mensajes de error similares a los siguientes ejemplos:
detected unsupported changes: (-current +desired)
...
- AdvancedNetworking: &true,
+ AdvancedNetworking: &false,
...
, which will be ignored
Si te encuentras con este comportamiento, 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 deseados.
- En el ejemplo anterior, si no tenías la intención de inhabilitar
AdvancedNetworking
, configuraadvancedNetworking: true
en el archivo YAML de configuración.
- En el ejemplo anterior, si no tenías la intención de inhabilitar
- Si el cambio es intencional, el error indica que el cambio no es compatible. Realiza una de las siguientes acciones:
- Vuelve a crear el clúster si corresponde.
- Comunícate con la Atención al cliente de Google.
La imagen de SO no existe
Los comandos gkectl update cluster
y gkectl update admin
pueden fallar con fallas 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, haz lo siguiente:
- 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 el entorno de vCenter, por ejemplo, si realizas un trabajo de limpieza periódico.
Para volver a importar las imágenes de SO de importación, ejecuta el comando gkectl prepare
de la siguiente manera:
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 de almacén de datos para nuevos grupos de nodos
Cuando agregas grupos de nodos nuevos, el comando gkectl update cluster
puede fallar con errores de verificación previa 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 ejecutar los grupos de nodos nuevos. Usa una de las siguientes opciones para liberar espacio para que la operación se realice correctamente:
- Libera espacio del almacén de datos.
- Configura un almacén de datos
nodePools[].vsphere.datastore
diferente para el grupo de nodos.