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 VMs a Compute Engine con Migrate to Virtual Machines.
Estás usando una imagen que no tiene las optimizaciones del entorno de invitado para discos SSD locales.
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
, reglassysctl
, configuraciónrsyslog
ydhcp
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
ygoogle-compute-engine-oslogin
.Para revisar el código fuente de este paquete, consulta guest-configs en GitHub.
- Secuencias de comandos de inicio del sistema para
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. El agente invitado de Linux admite las siguientes funciones:- Administración de cuentas
- Integración de Acceso a SO
- Desfase de reloj
- Administración de interfaces de red
- Extremo del servidor de metadatos HTTPS
- Configuración de instancias de VM
El agente invitado de Linux 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 puerto en serie y, de manera opcional, a Registros de Cloud
El agente invitado de Linux también recopila datos de telemetría del SO invitado para usarlos en el análisis y la depuración. Los datos de telemetría incluyen el nombre, la versión, la versión del kernel y el agente del SO. Para inhabilitar la recopilación de los datos de telemetría, configura los siguientes metadatos a nivel de la VM o del proyecto:
disable-guest-telemetry=TRUE
.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 Acceso al SO para administrar el acceso a las instancias de VM con roles de Identity and Access Management (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.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:
- Lee y escribe datos en los metadatos de VM.
- Envía registros al puerto en serie y, de forma opcional, a Cloud Logging.
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 el agente de configuración del SO que VM Manager usa para administrar el inventario, los parches y las políticas del SO.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.
- De forma predeterminada, el agente de configuración del SO no recopila ni envía ninguna información hasta que el agente de configuración del SO esté habilitado. Después de habilitar el agente, este se comunica con el servicio de la API de OS Config. Para revisar las operaciones que completó el agente, consulta Visualiza los registros de auditoría de VM Manager.
Para revisar el código fuente de este agente, consulta osconfig 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. El agente invitado de Windows se usa para admitir los siguientes procesos:- Administra cuentas y credenciales en VMs de Windows
- Configura la interfaz de red
- Cómo consultar metadatos con el extremo del servidor de metadatos HTTPS
- Proporciona compatibilidad con el clúster 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.
El agente invitado de Windows también recopila datos de telemetría del SO invitado para usarlos en el análisis y la depuración. Los datos de telemetría incluyen el nombre, la versión, la versión del kernel y el agente del SO. Para inhabilitar la recopilación de los datos de telemetría, configura los siguientes metadatos a nivel de la VM o del proyecto:
disable-guest-telemetry=TRUE
.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 comandosinstance_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
ywindows-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 a través de la lectura de datos de los repositorios de Google Cloud en
packages.cloud.google.com
.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 VM Manager usa para administrar el inventario, los parches y las políticas del SO.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.
- De forma predeterminada, el agente de configuración del SO no recopila ni envía ninguna información hasta que el agente de configuración del SO esté habilitado. Después de habilitar el agente, este se comunica con el servicio de la API de OS Config. Para revisar las operaciones que completó el agente, consulta Visualiza los registros de auditoría de VM Manager.
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 SCSI | google-compute-engine-driver-vioscsi |
Adaptador de pantalla | google-compute-engine-driver-gga |
Controlador de fallas | google-compute-engine-driver-pvpanic |
Controlador de globo de memoria Virtio | google-compute-engine-driver-balloon |
NIC virtual de Google | google-compute-engine-driver-gvnic |
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.