Solución de problemas de VM Manager

En este documento, se describe cómo solucionar problemas con VM Manager.

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

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. 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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    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.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Si deseas 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 verifica que VM Manager esté configurado de forma correcta. Si la configuración es correcta y aún tienes problemas, puedes revisar los registros. Cuando revisas los registros, puedes identificar problemas con la VM o en el flujo de trabajo de VM Manager, como errores en comandos o secuencias de comandos, que puedes aislar y resolver.

Puedes recopilar la siguiente información de los registros:

  • Cualquier mensaje de error o advertencia que registre la VM. Esto es ideal para identificar errores a nivel de VM o errores de otros servicios que se ejecutan en la VM. Para revisar estos registros, consulta Inspecciona Cloud Logging.
  • La información de depuración detallada que registra el agente de configuración del SO. Esto es útil para identificar problemas con cualquiera de las operaciones que ejecuta VM Manager. Para inspeccionar los registros de depuración del agente de configuración del SO, consulta Inspecciona registros de depuración.

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

Inspecciona Cloud Logging

Puedes usar los vínculos rápidos de la consola de Google Cloud para cada función a fin de ver los registros de una VM específica.

Parche del SO

  1. En la consola de Google Cloud, ve a la pestaña Trabajos de aplicación de parches en la página Administración de parches de SO.

    Ir a Trabajos de aplicación de parches

  2. Haz clic en el nombre del trabajo de aplicación de parche que deseas depurar.
  3. Desplázate hacia abajo hasta Instancias de VM actualizadas.
  4. Para una VM específica, en Registros, haz clic en Ver.

Políticas del SO

Este procedimiento es compatible con las políticas del SO. Para las políticas de invitado (Beta), usa la opción de registros de depuración en la siguiente sección.

  1. En la consola de Google Cloud, ve a la pestaña Instancias de VM en la página de Administración de configuración del SO.

    Ir a Instancias de VM

  2. Haz clic en el nombre de la VM que deseas depurar.
  3. Desplázate hacia abajo hasta Políticas.
  4. En Registros, haz clic en Ver.

Inspecciona registros de depuración

Puedes identificar problemas con cualquier función de VM Manager si habilitas la depuración para el agente de configuración del SO y ves el registro de depuración.

Habilita el registro de depuración para el agente de configuración del SO

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

Para habilitar el registro de depuración en la VM, completa los siguientes pasos:

Console

  1. En la consola de Google Cloud, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. Haz clic en el nombre de la VM para la que deseas configurar el valor de metadatos.

  3. En la página Detalles de la instancia, haz clic en Cambiar para cambiar la configuración.

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

    Clave: osconfig-log-level
    Valor: debug

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

gcloud

Usa el comando instances add-metadata con la marca --metadata=osconfig-log-level=debug:

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

Reemplaza VM_NAME por el nombre de tu VM.

REST

Si quieres obtener instrucciones para configurar los metadatos de la instancia, sigue las instrucciones de la API sobre cómo configurar los metadatos de la instancia.

El siguiente par clave-valor es obligatorio como parte de la propiedad de metadatos:

Clave: osconfig-log-level
Valor: debug

Consulta registros de depuración

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

Después de habilitar el registro de depuración en la VM, el agente de configuración del SO tarda diez minutos en comenzar a escribir mensajes de depuración en Cloud Logging. Para reducir este tiempo de espera, reinicia el agente o reinicia la VM. Para obtener más información sobre Cloud Logging, consulta Visualiza los registros de Cloud Logging.

Para ver los registros de depuración, puedes usar las siguientes opciones:

  • Cloud Logging: Usa la consola de Google Cloud o la CLI de Google Cloud
  • Consola de puerto en serie

Console

  1. Ve a la página Registro > Explorador de registros en la consola de Google Cloud:

    Ir al Explorador de registros

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

  3. En la lista desplegable Recurso, selecciona Instancia de VM. Aparecerá una lista de VM disponibles (instance_id).

  4. Haz clic en la VM que deseas ver.

  5. Haz clic en Agregar.

  6. En la lista desplegable Nombre del registro, selecciona OSConfigAgent.

  7. Haz clic en Agregar.

  8. Su archivo debería ser similar al siguiente:

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

gcloud

Ejecuta el comando gcloud logging read:

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

Reemplaza PROJECT_ID con el ID del proyecto.

Puerto en serie

Para ver la información del registro de depuración desde la consola del puerto en serie, consulta la sección Visualiza la salida de los puertos en serie.

Errores comunes

Problemas de autenticación

Para que VM Manager funcione, debes tener lo siguiente:

  • Una cuenta de servicio conectada. VM Manager usa esta cuenta de servicio para firmar solicitudes al servicio de API.
  • Asegúrate de que la cuenta de servicio adjunta tenga el rol roles/logging.logWriter para escribir registros en la API de Logging.
  • Agente de servicio de configuración del SO de Google Cloud. VM Manager crea este agente de servicio cuando inicia trabajos de aplicación de parches y le otorga la función de agente de servicio de configuración del SO de Cloud. Para crear políticas del SO, no necesitas configurar este agente de servicio.

Si usas VM Manager y no tienes una cuenta de servicio conectada ni un agente de servicio de configuración del SO de Google Cloud, es posible que veas los siguientes errores mientras trabajas con trabajos de aplicación de parches:

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 evitar que las instancias de VM aparezcan en el panel de parches.

Para resolver estos problemas, intenta realizar una de las siguientes acciones o todas:

  • Verifica que todas las VMs tengan una cuenta de servicio conectada.
  • Asegúrate de que el rol de agente de configuración del SO de Cloud OS (roles/osconfig.serviceAgent) esté configurado en el agente de servicios de configuración del SO de Google Cloud.

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

    Reemplaza lo siguiente:

Se produjo un error mientras se excluían los paquetes para las actualizaciones de parches

Si especificas comodines o caracteres especiales para el nombre de los paquetes cuando excluyes paquetes en un trabajo de aplicación de parche, la Administración de parches de SO puede ignorar la lista y actualizar todos los paquetes.

Para resolver este problema, actualiza el agente de configuración del SO a la versión 20220829.00 y usa barras diagonales (/) para unir el nombre del paquete.

En el siguiente ejemplo, la Administración de parches de SO 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-.*/

Próximos pasos