En este documento, se proporciona una descripción general de la resiliencia de las máquina virtual (VM) y las verificaciones opcionales que los operadores de aplicaciones pueden habilitar para obtener estadísticas más detalladas desde una VM en Google Distributed Cloud (GDC) con aislamiento de aire.
Este documento está dirigido a los desarrolladores que forman parte del grupo de operadores de aplicaciones que operan VMs. Para obtener más información, consulta Audiences for GDC air-gapped documentation.
Las VMs en GDC proporcionan HA para mejorar la continuidad del servicio en caso de fallas de la infraestructura subyacente o del invitado. También puedes configurar el sistema para que emita indicadores de estado opcionales que ofrecen estadísticas más detalladas sobre el estado de la VM.
Verificaciones de disponibilidad de la VM
El sistema proporciona las siguientes verificaciones de disponibilidad de la VM:
| Nombre del cheque | Descripción | Asistencia para acciones de mitigación | Disponibilidad de la señal |
|---|---|---|---|
| Verificación de estado del huésped | Verifica el estado del SO invitado. Es un requisito previo para otras verificaciones en el huésped. | Sí | Revisión en la habitación |
| Verificación de almacenamiento | Verifica el estado del almacenamiento subyacente de la VM. | Sí | Revisión en la habitación |
| Verificación de salida | Verifica la conectividad con un extremo interno conocido. | No | Verificación dentro y fuera del vehículo |
| Verificación de entrada | Verifica la accesibilidad de la VM con su entrada configurada (VirtualMachineExternalAccess). | No | Revisión en la habitación |
Las acciones de mitigación pueden reiniciar la VM y reprogramarla en otro nodo en caso de fallas frecuentes.
Solicita permisos y acceso
Para realizar las tareas que se indican en esta página, debes tener el rol de administrador de la máquina virtual del proyecto. Sigue los pasos para verificar que tienes el rol de administrador de máquinas virtuales del proyecto (project-vm-admin) en el espacio de nombres del proyecto en el que reside la VM.
Habilita las verificaciones en el huésped
De forma predeterminada, la verificación del huésped está inhabilitada si no está presente guestHealthCheck.
Para habilitar o inhabilitar la verificación en el invitado de una VM, debes actualizar el GuestEnvironment en la especificación de la VM. Este parámetro de configuración recopila métricas desde el interior de la VM, siempre que esté instalado el agente invitado. Si no está presente guestHealthCheck, las verificaciones en el huésped se inhabilitan de forma predeterminada.
- Abre el archivo de configuración de tu VM.
- Navega a la sección
spec:. - Agrega o modifica los campos
guestEnvironment:yguestHealthCheck:para habilitar la verificación. - Establece el campo
enablecomo verdadero.
A continuación, se muestra un ejemplo de la configuración en un archivo YAML:
spec:
compute:
virtualMachineType: n2-standard-2-gdc
guestEnvironment:
guestHealthCheck:
enable: true
Verifica las comprobaciones
Después de configurar la VM, puedes inspeccionar el Condition de la máquina virtual en su Status para verificar el estado de las verificaciones de disponibilidad.
kubectl --kubeconfig MANAGEMENT_API_SERVER \
-n NAMESPACE_NAME \
get gvm -o yaml
El resultado muestra el estado de las distintas verificaciones. Por ejemplo, si guestHealthCheck está habilitado, las condiciones de estado de gvm se propagan con el indicador VMGuestHealth.
Inhabilita la alta disponibilidad de la VM
De forma predeterminada, la alta disponibilidad de la VM está habilitada si la anotación no está presente. Puedes inhabilitar explícitamente la HA para una VM específica agregando una anotación. Agrega la anotación para inhabilitar la HA de la VM:
- Abre el archivo de configuración de tu VM.
- Agrega la anotación
highavailability.virtualmachine.gdc.goog/enable: falsea los metadatos de la VM para inhabilitar la alta disponibilidad.
A continuación, se muestra un ejemplo de la anotación en un archivo YAML:
metadata:
annotations:
highavailability.virtualmachine.gdc.goog/enable: false
Mitigación de fallas de nodos
Las acciones de mitigación automatizadas abordan las fallas de la VM y mantienen la alta disponibilidad. Cuando la infraestructura subyacente ya no puede admitir una VM en ejecución, el sistema intenta aislar el nodo en mal estado y reprogramar la VM en un nodo en buen estado. Las siguientes situaciones pueden activar esta mitigación a nivel del nodo:
Partición de nodo desde el servidor de la API: El nodo de metal desnudo que aloja la VM se particiona desde el servidor de la API de Management debido a una condición como la siguiente:
- Pérdida de conectividad de red entre el servidor de nombres de la API y el nodo.
- El agente
kubeletdel nodo no funciona. - El nodo observa una falla de energía.
Partición de VM del clúster de usuario: Una VM de trabajador del clúster de usuario se particiona desde el servidor de la API de administración de su clúster.