Solución de problemas del administrador de VM

Este documento describe cómo solucionar problemas con VM Manager.

Para obtener más información sobre VM Manager, consulte VM Manager .

Antes de comenzar

  • Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .

Descripción general

Para solucionar problemas, primero verifique que VM Manager esté configurado correctamente . Si la configuración es correcta y aún tiene problemas, puede revisar los registros. Cuando revisa los registros, puede identificar problemas con su VM o en su flujo de trabajo de VM Manager, como errores en comandos o scripts, que puede aislar y resolver.

Puede recopilar la siguiente información de los registros:

  • Cualquier mensaje de error o advertencia registrado por la VM. Esto es ideal para identificar errores a nivel de VM o errores de otros servicios que se ejecutan en su VM. Para revisar estos registros, consulte Inspeccionar el registro en la nube .
  • Información de depuración detallada registrada por el agente de configuración del sistema operativo. Esto es útil para identificar problemas con cualquiera de las operaciones ejecutadas por VM Manager. Para inspeccionar los registros de depuración del agente de configuración del sistema operativo, consulte Inspeccionar registros de depuración .

Después de identificar los problemas o errores, también puede revisar la sección de errores comunes para ver posibles soluciones.

Inspeccionar el registro en la nube

Puede utilizar los enlaces rápidos de la consola de Google Cloud para cada función para ver registros.

parche del sistema operativo

  1. En la consola de Google Cloud, vaya a la pestaña Ejecución de trabajos en la página Parche .

    Ir a ejecución de trabajos

  2. Haga clic en el nombre del trabajo de parche que desea depurar.
  3. Vaya a la sección Instancias de VM actualizadas .
  4. Para una máquina virtual específica, en Registros , haga clic en Ver .

Políticas del sistema operativo

Este procedimiento es compatible con las políticas del sistema operativo. Para políticas de invitados (beta), use la opción de registros de depuración, en la siguiente sección.

  1. En la consola de Google Cloud, vaya a la pestaña Instancias de VM en la página de políticas del sistema operativo .

    Ir a instancias de VM

  2. Haga clic en el nombre de la VM que desea depurar.
  3. Vaya a la sección Políticas .
  4. En Registros , haga clic en Ver .

Orquestadores de políticas del sistema operativo

  1. En la consola de Google Cloud, vaya a la pestaña Orquestadores de políticas del sistema operativo en la página de políticas del sistema operativo .

    Ir a orquestadores de políticas del sistema operativo

  2. Haga clic en el nombre del orquestador de políticas del sistema operativo que desea depurar.
  3. Vaya a la sección Registros y verifique la entrada del registro.

Inspeccionar registros de depuración

Puede identificar problemas con cualquier función de VM Manager habilitando la depuración para el agente de configuración del sistema operativo y viendo el registro de depuración.

Habilite el registro de depuración para el agente de configuración del sistema operativo

Puede habilitar el registro de depuración configurando los metadatos osconfig-log-level=debug en la instancia o proyecto de VM.

Para habilitar el registro de depuración en su VM, complete los siguientes pasos:

Consola

  1. En la consola de Google Cloud, vaya a la página de instancias de VM .

    Ir a instancias de VM

  2. Haga clic en el nombre de la VM para la que desea establecer el valor de metadatos.

  3. En la página de detalles de la instancia , haga clic en Editar para editar la configuración.

  4. En Metadatos personalizados , agregue las siguientes entradas de metadatos:

    Clave: osconfig-log-level
    Valor: debug

  5. Haga clic en Guardar para aplicar los cambios a la VM.

nube de gcloud

Utilice el comando instances add-metadata con el indicador --metadata=osconfig-log-level=debug .

gcloud compute instances add-metadata VM_NAME \
    --metadata=osconfig-log-level=debug

Reemplace VM_NAME con el nombre de su VM.

DESCANSAR

Para obtener instrucciones sobre cómo configurar metadatos de instancia, siga las instrucciones de la API para configurar metadatos de instancia .

Se requiere el siguiente par clave-valor como parte de la propiedad de metadatos:

Clave: osconfig-log-level
Valor: debug

Ver registros de depuración

Cuando el registro de depuración está habilitado, el agente de configuración del sistema operativo escribe entradas de registro en Cloud Logging y en la consola del puerto serie.

Después de habilitar el registro de depuración en su máquina virtual, el agente de configuración del sistema operativo tarda aproximadamente diez minutos en comenzar a escribir mensajes de depuración en Cloud Logging. Puede reducir este tiempo de espera reiniciando el agente o reiniciando su VM. Para obtener más información sobre Cloud Logging, consulte Ver registros de Cloud Logging .

Para ver los registros de depuración, puede utilizar las siguientes opciones:

  • Registro en la nube: use la consola de Google Cloud o la CLI de Google Cloud
  • Consola de puerto serie

Consola

  1. Vaya a la página Registro > Explorador de registros (Logs Explorer) en la consola de Google Cloud:

    Ir al Explorador de registros

  2. Si es necesario, seleccione uno existente Google Cloud proyecto en la parte superior de la página, o cree un nuevo proyecto.

  3. En la lista desplegable Recurso , seleccione Instancia de VM . Se muestra una lista de máquinas virtuales disponibles ( instance_id ).

  4. Haga clic en la máquina virtual que desea ver.

  5. Haga clic en Agregar .

  6. En la lista desplegable Nombre de registro , seleccione OSConfigAgent .

  7. Haga clic en Agregar .

  8. Su consulta debería ser similar a la siguiente:

    resource.type="gce_instance" resource.labels.instance_id="INSTANCE_ID"
    logName="projects/PROJECT_ID/logs/OSConfigAgent"
    
  9. Haga clic en Ejecutar consulta .

nube de gcloud

Ejecute el comando gcloud logging read .

 gcloud logging read "resource.type=gce_instance AND logName=projects/PROJECT_ID/logs/OSConfigAgent"
 

Reemplace PROJECT_ID con su ID de proyecto.

Puerto serie

Para ver la información del registro de depuración desde la consola del puerto serie, consulte Visualización de la salida del puerto serie .

Errores comunes

Problemas de autenticación

Para que VM Manager funcione, debe tener lo siguiente:

  • Una cuenta de servicio adjunta. VM Manager utiliza esta cuenta de servicio para firmar solicitudes al servicio API.
  • Asegúrese de que la cuenta de servicio adjunta tenga la función roles/logging.logWriter para escribir registros en la API de registro.
  • Agente del servicio de configuración del SO de Google Cloud . VM Manager crea este agente de servicio al iniciar trabajos de parche y le asigna la función de Agente de servicio de configuración del sistema operativo en la nube. Para crear políticas de sistema operativo, no es necesario configurar este agente de servicio.

Si usa VM Manager y no tiene una cuenta de servicio adjunta o un agente de servicio de configuración del sistema operativo de Google Cloud, es posible que vea los siguientes errores mientras trabaja con trabajos de parche:

Service account permissions are missing. Verify that the service account has the correct permissions and try again.
OSConfigAgent Error main.go:88: error getting token from metadata: metadata: GCE metadata "instance/service-accounts/default/identity?audience=osconfig.googleapis.com&format=full" not defined
message: "Error running OPERATION_NAME: error calling OPERATION_NAME: code: "PermissionDenied", message: "The caller does not have permission", details: []"

Los problemas de autenticación también pueden impedir que las instancias de VM aparezcan en el panel de parches .

Para resolver estos problemas, pruebe uno o todos los siguientes:

  • Verifique que todas las máquinas virtuales tengan una cuenta de servicio adjunta .
  • Asegúrese de que la función del Agente del servicio de configuración del sistema operativo en la nube ( roles/osconfig.serviceAgent ) esté configurada en el Agente del servicio de configuración del sistema operativo en la nube de Google.

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member='serviceAccount:service-PROJECT_NUMBER@gcp-sa-osconfig.iam.gserviceaccount.com' \
      --role='roles/osconfig.serviceAgent'
    

    Reemplace lo siguiente:

Error al excluir paquetes para actualizaciones de parches

Si especifica comodines o caracteres especiales para el nombre de los paquetes al excluir paquetes en un trabajo de parche, la administración de parches del sistema operativo podría ignorar la lista y actualizar todos los paquetes.

Para resolver este problema, actualice el agente de configuración del sistema operativo a la versión 20220829.00 y utilice barras diagonales ( / ) para ajustar el nombre del paquete.

En el siguiente ejemplo, la administración de parches del sistema operativo excluye los paquetes yum con el prefijo google- en el nombre del paquete.

      gcloud compute os-config patch-jobs execute --instance-filter-all
--yum-excludes=/google-.*/

¿Qué sigue?