Entorno huésped


Cuando inicias una instancia de máquina virtual (VM) mediante las imágenes públicas que proporciona Google, un entorno invitado se instala de forma automática en la instancia de VM. El entorno invitado es un conjunto de secuencias de comandos, daemons y objetos binarios que leen el contenido del servidor de metadatos para hacer que una VM se ejecute de forma correcta en Compute Engine. Un servidor de metadatos es un canal de comunicación para transferir información de un cliente al sistema operativo invitado.

En este documento, se proporciona una descripción general de los componentes del entorno invitado y los sistemas operativos compatibles, y se explica cómo debes instalar o actualizar de forma manual el entorno invitado.

Cuándo instalar o actualizar de forma manual el entorno invitado

Las instancias de VM creadas con las imágenes públicas que proporciona Google incluyen un entorno invitado que se instala de manera predeterminada.

Para verificar si el entorno invitado se ejecuta en la instancia, consulta Valida el entorno invitado.

En algunos casos, el entorno invitado instalado puede quedar desactualizado. Si el entorno invitado está disponible en la instancia, pero está desactualizado, actualiza el entorno invitado.

De lo contrario, es posible que debas instalar de forma manual el entorno invitado si reúnes las siguientes condiciones:

  • Debes importar una imagen personalizada o un disco virtual a la plataforma de Compute Engine y eliges no permitir una instalación automática del entorno invitado.

    Cuando importas discos virtuales o imágenes personalizadas, tienes la opción de permitir que Compute Engine instale el entorno invitado por ti. Sin embargo, si decides no instalar el entorno invitado durante el proceso de importación, debes realizar los pasos de forma manual para instalar el entorno de invitado.

  • Estás migrando VM a Compute Engine con Migrate for Compute Engine.

  • Estás usando una imagen que no tiene las optimizaciones del entorno de invitado para una SSD local.

  • Tienes instancias que usan una imagen anterior a la versión v20141218.

Si debes instalar de forma manual el entorno invitado, consulta Instala el entorno invitado.

Sistemas operativos compatibles

Cada sistema operativo compatible que está disponible en Compute Engine requiere paquetes específicos de entorno de invitado. Google o el propietario del sistema operativo compila estos paquetes. Para obtener información sobre quién compila los paquetes de entorno huésped, consulta las diferencias notables de las secciones de imágenes estándar en el documento de Detalles del sistema operativo.

Entorno invitado de Linux

Ya sea que Google o el propietario del sistema operativo compilen el entorno invitado de Linux, existen algunos componentes clave que se pueden aplicar 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 la configuración adecuada para las distribuciones compatibles.

A continuación, se resumen las secuencias de comandos, los daemons y los paquetes principales que se instalan en el entorno invitado de Linux.

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

    • Secuencias de comandos de inicio del sistema para systemd.
    • Opciones de configuración del sistema, como reglas udev, reglas sysctl, configuración rsyslog y dhcp que se utilizan para la configuración del nombre de host.
    • Secuencias de comandos Bash que se ejecutan durante el inicio 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, consulta guest-configs en GitHub.

  • El paquete google-guest-agent contiene el agente invitado y los ejecutables de la secuencia de comandos de metadatos que se ejecutan en el SO invitado para admitir las características de Compute Engine. Estas características incluyen la administración de cuentas, la integración de Acceso al SO, el sesgo de reloj, la red la administración de la interfaz y la configuración de la instancia.

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

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

  • El paquete google-compute-engine-oslogin contiene los objetos binarios, los módulos y las secuencias de comandos para el Acceso al SO. Puedes usar el Acceso al SO para administrar el acceso a las instancias de VM mediante funciones de administración de identidades y accesos (IAM).

    El paquete incluye lo siguiente:

    • El comando de claves autorizadas, que proporciona claves SSH del perfil de Acceso al SO del usuario a fin de establecer una conexión sshd para autenticar a los usuarios cuando acceden.
    • Módulos de interruptores de servicio de nombres (NSS) que proporcionan asistencia a fin de que la información de grupo y usuario de Acceso al SO esté disponible para el sistema.
    • Módulos de autenticación conectables (PAM) que proporcionan autorización (y autenticación si la compatibilidad con dos factores está habilitada) que permite al sistema usar los permisos de IAM de Google Cloud a fin de controlar la capacidad para acceder a una instancia o realizar operaciones con permisos de administrador (a través de sudo).
    • google_oslogin_nss_cache, que es una utilidad para actualizar la caché del grupo y del usuario local.
    • La secuencia de comandos de shell google_oslogin_control activa o desactiva las funciones de Acceso al SO.
    • selinux contiene archivos de definición de políticas de SELinux y un paquete de políticas compilado para configurar SELinux a fin de que sea compatible con el Acceso al SO.

    Los componentes del Acceso al SO se comunican con los servicios de Compute Engine de la siguiente manera:

    Para revisar el código fuente de este paquete, consulta 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 en serie.

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

  • El paquete google-osconfig-agent contiene un agente de configuración del SO que se usa para OS Inventory Management, Administración de parches de SO y Administración de configuración del SO mediante VM Manager.

    Las secuencias de comandos se comunican con los servicios de Compute Engine de la siguiente manera:

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

Para obtener más información sobre el entorno invitado de Linux, consulta compute-image-packages en GitHub.

Entorno de invitado de Windows

En la siguiente lista, se resumen los paquetes que forman parte del entorno invitado de Windows:

  • El paquete google-compute-engine-windows contiene el agente invitado de Windows que se usa para crear cuentas de usuario locales y configurar o restablecer contraseñas, configurar la interfaz de red y proporcionar asistencia para clústeres de conmutación por error de Windows.

    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 VM.
    • Envía registros al registro de eventos de la aplicación de Windows, al puerto en serie y a Cloud Logging

    Para revisar el código fuente de este agente, consulta guest-agent en GitHub.

  • El paquete google-compute-engine-sysprep contiene secuencias de comandos para generalizar una instancia de Windows a fin de prepararse para crear una imagen. El paquete también incluye la secuencia de comandos instance_setup.ps1 que se usa en el primer inicio para configurar la instancia nueva.

    Las secuencias de comandos se comunican con los servicios de Compute Engine de la siguiente manera:

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

    Para revisar el código fuente de este agente, consulta compute-image-windows en GitHub.

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

    Las secuencias de comandos se comunican con los servicios de Compute Engine de la siguiente manera:

    • Lee y escribe datos en los metadatos de VM.
    • Leer en las 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 en serie y a Cloud Logging

    Para revisar el código fuente de este agente, consulta compute-image-windows en GitHub.

  • El paquete google-compute-engine-powershell contiene un módulo de PowerShell. Este módulo contiene funciones comunes que se usan en las secuencias de comandos de PowerShell en otras secuencias de comandos del entorno invitado de Windows.

    La secuencia de comandos se comunica con los siguientes servicios de Compute Engine:

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

    Para revisar el código fuente de este agente, consulta compute-image-windows en GitHub.

  • El paquete google-compute-engine-auto-updater contiene secuencias de comandos que se usan para actualizar los paquetes de Compute Engine a diario. Este paquete ya no está instalado de forma predeterminada.

    Las secuencias de comandos 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 a la consola y al registro de eventos de la aplicación de Windows

    Para revisar el código fuente de este agente, consulta compute-image-windows en GitHub.

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

    Las secuencias de comandos se comunican con los servicios de Compute Engine de la siguiente manera:

    • Guarda los datos en un bucket de Cloud Storage.

    Para revisar el código fuente de este agente, consulta compute-image-tools en GitHub.

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

    Para revisar el código fuente de este agente, consulta compute-image-windows en GitHub.

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

    Las secuencias de comandos se comunican con los servicios de Compute Engine de la siguiente manera:

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

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

    Las secuencias de comandos se comunican con los servicios de Compute Engine de la siguiente manera:

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

    Para revisar el código fuente de este agente, consulta compute-image-windows en GitHub.

  • El paquete google-osconfig-agent contiene un agente de configuración del SO que se usa para OS Inventory Management, Administración de parches de SO y Administración de configuración del SO mediante VM Manager.

    Las secuencias de comandos se comunican con los servicios de Compute Engine de la siguiente manera:

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

Controladores de Compute Engine para Windows

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

Tipo de controlador Nombre del paquete
Adaptador de Ethernet google-compute-engine-driver-netkvm
Disco CSI google-compute-engine-driver-vioscsi
Adaptador de pantalla google-compute-engine-driver-gga
Controlador de falla google-compute-engine-driver-pvpanic

Cada controlador se empaqueta mediante GooGet y se publica en los repositorios de Google Cloud. El código fuente para los controladores se encuentra en compute-windows-drivers en GitHub. Todas las imágenes de Windows para Google Cloud se configuran con anterioridad a través de la herramienta de GooGet y los repositorios de Google Cloud. Si necesitas instalar GooGet y configurar los repositorios por tu cuenta, consulta Empaquetado y distribución de paquetes.

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

googet install DRIVER_PACKAGE_NAME

¿Qué sigue?

Para obtener instrucciones paso a paso sobre cómo instalar el entorno invitado, consulta Instala el entorno invitado.