Ambiente de invitados


Cuando inicia una instancia de máquina virtual (VM) utilizando imágenes públicas proporcionadas por Google, se instala automáticamente un entorno invitado en la instancia de VM. El entorno invitado es un conjunto de scripts, demonios y archivos binarios que leen el contenido del servidor de metadatos para que una VM se ejecute correctamente en Compute Engine. Un servidor de metadatos es un canal de comunicación para transferir información desde un cliente al sistema operativo invitado.

Este documento proporciona una descripción general de los componentes del entorno invitado, los sistemas operativos compatibles y explica cómo saber cuándo necesita instalar o actualizar manualmente el entorno invitado.

Cuándo instalar o actualizar manualmente el entorno de invitados

Las instancias de VM creadas con imágenes públicas proporcionadas por Google incluyen un entorno invitado que se instala de forma predeterminada.

Para comprobar si el entorno invitado se está ejecutando en su instancia, consulte validar el entorno invitado .

En algunos casos, el entorno invitado instalado puede quedar obsoleto. Si el entorno invitado está disponible en su instancia pero está desactualizado, actualice el entorno invitado .

De lo contrario, es posible que necesite instalar manualmente el entorno invitado en las siguientes condiciones:

Si necesita instalar manualmente el entorno invitado, consulte Instalación del entorno invitado .

Sistemas operativos compatibles

Cada sistema operativo compatible que está disponible en Compute Engine requiere paquetes de entorno invitado específicos. Estos paquetes los crea Google o el propietario del sistema operativo. Para obtener información sobre quién crea los paquetes del entorno invitado, consulte las secciones Diferencias notables con respecto a las imágenes estándar en el documento de detalles del sistema operativo .

El entorno invitado de Linux

Ya sea que el entorno invitado de Linux sea creado por Google o por el propietario del sistema operativo, existen algunos componentes clave que se aplican a todas las compilaciones.

Los componentes básicos de un entorno invitado de Linux se proporcionan como paquetes deb o rpm que se crean con las configuraciones adecuadas para las distribuciones compatibles.

La siguiente lista resume los principales scripts, demonios y paquetes empaquetados en el entorno invitado de Linux:

  • El paquete google-compute-engine contiene los siguientes componentes:

    • Scripts de inicio del sistema para systemd .
    • Configuraciones del sistema, como reglas udev , reglas sysctl , configuraciones rsyslog y configuraciones dhcp , que se utilizan para la configuración del nombre de host.
    • Scripts Bash que se ejecutan durante el arranque de la instancia.

    Este paquete depende de los paquetes google-guest-agent y google-compute-engine-oslogin .

    Para revisar el código fuente de este paquete, consulte guest-configs en GitHub .

  • El paquete google-guest-agent contiene el agente invitado y los ejecutables del script de metadatos que se ejecutan en el sistema operativo invitado para admitir las funciones de Compute Engine. El agente invitado de Linux admite las siguientes funciones:

    El agente invitado de Linux se comunica con los servicios de Compute Engine de la siguiente manera:

    El agente invitado de Linux también recopila datos de telemetría del sistema operativo invitado para utilizarlos en análisis y depuración. Los datos de telemetría incluyen: nombre del sistema operativo, versión del sistema operativo, versión del kernel del sistema operativo, versión del kernel del sistema operativo y versión del agente del sistema operativo. Para deshabilitar la recopilación de datos de telemetría, configure los siguientes metadatos en el nivel de VM o de proyecto: disable-guest-telemetry=TRUE .

    A partir de diciembre de 2024, el agente invitado instala una unidad systemd secundaria denominada google-guest-agent-manager . Esta unidad gestiona el ciclo de vida de los complementos bajo demanda.

    Para revisar el código fuente de este paquete, consulte agente invitado en GitHub .

  • El paquete google-compute-engine-oslogin contiene los archivos binarios, módulos y scripts para iniciar sesión en el sistema operativo . Puede utilizar el inicio de sesión del sistema operativo para administrar el acceso a instancias de VM mediante roles de administración de acceso e identidad (IAM).

    El paquete incluye lo siguiente:

    • Comando de claves autorizadas que proporciona claves SSH desde el perfil de inicio de sesión del sistema operativo del usuario a sshd para autenticar a los usuarios al iniciar sesión.
    • Módulos de conmutador de servicio de nombres (NSS) que brindan soporte para que la información de usuario y grupo de inicio de sesión del sistema operativo esté disponible para el sistema.
    • Los módulos de autenticación conectables (PAM) que brindan autorización (y autenticación si el soporte de dos factores está habilitado) permiten que el sistema use permisos de IAM de Google Cloud para controlar la capacidad de iniciar sesión en una instancia o realizar operaciones como root (a través de sudo).
    • google_oslogin_nss_cache que es una utilidad para actualizar el caché local de usuarios y grupos.
    • selinux contiene archivos de definición de políticas de SELinux y un paquete de políticas compiladas para configurar SELinux para admitir el inicio de sesión en el sistema operativo.

    Los componentes de inicio de sesión del sistema operativo se comunican con los servicios de Compute Engine de la siguiente manera:

    Para revisar el código fuente de este paquete, consulte guest-oslogin en GitHub .

  • Los componentes gce-disk-expand se comunican con los servicios de Compute Engine de la siguiente manera:

    • Envía registros al puerto serie

    Para revisar el código fuente de este paquete, consulte guest-diskexpand en GitHub .

  • El paquete google-osconfig-agent contiene el agente OS Config que VM Manager utiliza para administrar el inventario, los parches y las políticas del sistema operativo.

    Los scripts se comunican con los servicios de Compute Engine de la siguiente manera:

    Para revisar el código fuente de este agente, consulte osconfig en GitHub .

El entorno de invitados de Windows

La siguiente lista resume los paquetes que forman parte del entorno invitado de Windows:

  • El paquete google-compute-engine-windows contiene el agente invitado de Windows. El agente invitado de Windows se utiliza para admitir los siguientes procesos:

    El agente invitado de Windows se comunica con los servicios de Compute Engine de la siguiente manera: + Lee y escribe datos en los metadatos de la VM + Envía registros al registro de eventos de la aplicación de Windows, al puerto serie y al registro en la nube

    El agente invitado de Windows también recopila datos de telemetría del sistema operativo invitado para utilizarlos en análisis y depuración. Los datos de telemetría incluyen: nombre del sistema operativo, versión del sistema operativo, versión del kernel del sistema operativo, versión del kernel del sistema operativo y versión del agente del sistema operativo. Para deshabilitar la recopilación de datos de telemetría, configure los siguientes metadatos en el nivel de VM o de proyecto: disable-guest-telemetry=TRUE .

    A partir de diciembre de 2024, el agente invitado instala un servicio de sistema secundario denominado GCEAgentManager . Este servicio gestiona el ciclo de vida de los complementos bajo demanda.

    Para revisar el código fuente de este agente, consulte agente invitado en GitHub .

  • El paquete google-compute-engine-sysprep contiene scripts que sirven para generalizar una instancia de Windows en preparación para la creación de una imagen. El paquete también incluye el script instance_setup.ps1 que se utiliza en el primer arranque para configurar la nueva instancia.

    Los scripts se comunican con los servicios de Compute Engine de la siguiente manera:

    • Lee datos y escribe datos en los metadatos de la VM
    • Envía registros al registro de eventos de la aplicación de Windows y al puerto serie

    Para revisar el código fuente de este agente, consulte Compute-Image-Windows en GitHub.

  • El paquete google-compute-engine-metadata-scripts contiene scripts y binarios que se utilizan para ejecutar Compute Engine, sysprep-specialize, scripts de inicio y apagado .

    Los scripts se comunican con los servicios de Compute Engine de la siguiente manera:

    • Lee datos y escribe datos en los metadatos de la VM
    • Lee desde ubicaciones de Cloud Storage cuando se usan sysprep-specialize-script-url y windows-startup-script-url
    • Envía registros al registro de eventos de la aplicación de Windows, al puerto serie y al registro en la nube

    Para revisar el código fuente de este agente, consulte Compute-Image-Windows en GitHub.

  • El paquete google-compute-engine-powershell contiene un módulo de PowerShell. Este módulo contiene funciones comunes que utilizan los scripts de PowerShell en otros scripts del entorno invitado de Windows.

    Los scripts se comunican con los siguientes servicios de Compute Engine:

    • La función de registro en el módulo PowerShell envía registros de forma predeterminada al registro de eventos de la aplicación de Windows y al puerto serie.

    Para revisar el código fuente de este agente, consulte Compute-Image-Windows en GitHub .

  • El paquete google-compute-engine-auto-updater contiene scripts que se utilizan para actualizar los paquetes de Compute Engine diariamente. Este paquete ya no está instalado de forma predeterminada.

    Los scripts se comunican con los servicios de Compute Engine de la siguiente manera:

    • Lee datos de metadatos de VM
    • Llama al agente de Googet para enviar registros al registro de eventos de la aplicación de Windows y a la consola.

    Para revisar el código fuente de este agente, consulte Compute-Image-Windows en GitHub .

  • El paquete google-compute-engine-diagnostics contiene un binario que se utiliza para obtener información de diagnóstico de la instancia y guarda la información en un depósito de Cloud Storage. El binario lo ejecuta el agente invitado de Windows.

    Los scripts se comunican con los servicios de Compute Engine de la siguiente manera:

    • Guarda datos en un depósito de Cloud Storage

    Para revisar el código fuente de este agente, consulte Compute-Image-Tools en GitHub.

  • El paquete certgen contiene un binario que crea un certificado en la instancia.

    Para revisar el código fuente de este agente, consulte Compute-Image-Windows en GitHub .

  • El paquete googet contiene un binario que es un administrador de paquetes utilizado para instalar y mantener el entorno invitado.

    Los scripts se comunican con los servicios de Compute Engine leyendo datos del Google Cloud repositorios en packages.cloud.google.com .

    Para revisar el código fuente de este agente, consulte googet en GitHub .

  • El paquete google-compute-engine-vss instala el agente y el proveedor de Compute Engine VSS que se utilizan para tomar una instantánea del disco persistente mediante el Servicio de instantáneas de volumen (VSS) de Microsoft.

    Los scripts se comunican con los servicios de Compute Engine de la siguiente manera:

    • Se comunica con el Google Cloud servicio de instantáneas

    Para revisar el código fuente de este agente, consulte Compute-Image-Windows en GitHub.

  • El paquete google-osconfig-agent contiene el agente OS Config que utiliza VM Manager para administrar el inventario, los parches y las políticas del sistema operativo.

    Los scripts se comunican con los servicios de Compute Engine de la siguiente manera:

    Para revisar el código fuente de este agente, consulte osconfig en GitHub .

Controladores de Windows de Compute Engine

Los siguientes controladores de Compute Engine se mantienen para imágenes de Windows:

Tipo de conductor Nombre del paquete
adaptador ethernet controlador-netkvm-del-motor-de-cómputo-de-google-
disco SCSI controlador-de-motor-de-cómputo-de-google-vioscsi
Adaptador de pantalla controlador-motor-de-cómputo-de-google-gga
Manejador de accidentes controlador-pvpanic-del-motor-de-cómputo-de-google-
Controlador de globo de memoria Virtio globo-del-controlador-del-motor-de-cómputo-de-google
Tarjeta de red virtual de Google controlador-gvnic-del-motor-de-cómputo-de-google

Cada controlador se empaqueta usando GooGet y se publica en Google Cloud repositorios. El código fuente de los controladores se encuentra en Compute-Windows-Drivers en GitHub . Todo Google Cloud Las imágenes de Windows están preconfiguradas con la herramienta GooGet y Google Cloudrepositorios. Si necesita instalar GooGet y configurar repositorios usted mismo, consulte Empaquetado y distribución de paquetes .

Para instalar o actualizar un controlador específico, ejecute el siguiente comando:

googet install DRIVER_PACKAGE_NAME

¿Qué sigue?

Para obtener instrucciones paso a paso sobre cómo instalar el entorno invitado, consulte Instalación del entorno invitado .