Ambiente convidado, Ambiente convidado


Quando você inicia uma instância de máquina virtual (VM) usando imagens públicas fornecidas pelo Google, um ambiente convidado é instalado automaticamente na instância de VM. O ambiente convidado é um conjunto de scripts, daemons e binários que leem o conteúdo do servidor de metadados para fazer uma VM ser executada corretamente no Compute Engine. Um servidor de metadados é um canal de comunicação para transferir informações de um cliente para o sistema operacional convidado.

Este documento fornece uma visão geral dos componentes do ambiente convidado, dos sistemas operacionais suportados e explica como saber quando você precisa instalar ou atualizar manualmente o ambiente convidado.

Quando instalar ou atualizar manualmente o ambiente convidado

As instâncias de VM criadas usando imagens públicas fornecidas pelo Google incluem um ambiente convidado instalado por padrão.

Para verificar se o ambiente convidado está em execução na sua instância, consulte validar o ambiente convidado .

Em alguns casos, o ambiente convidado instalado pode ficar desatualizado. Se o ambiente convidado estiver disponível na sua instância, mas estiver desatualizado, atualize o ambiente convidado .

Caso contrário, poderá ser necessário instalar manualmente o ambiente convidado nas seguintes condições:

  • Você está importando uma imagem personalizada ou um disco virtual para a plataforma Compute Engine e optando por não permitir a instalação automática do ambiente convidado.

    Ao importar discos virtuais ou imagens personalizadas, você tem a opção de permitir que o Compute Engine instale o ambiente convidado para você. No entanto, se você optar por não instalar o ambiente convidado durante o processo de importação, para instalar o ambiente convidado, deverá seguir as etapas manuais.

  • Você está migrando VMs para o Compute Engine usando o Migrate to Virtual Machines .

  • Você está usando uma imagem que não possui otimizações de ambiente convidado para discos SSD locais .

  • Você tem instâncias que usam uma imagem anterior a v20141218 .

Se precisar instalar manualmente o ambiente convidado, consulte Instalando o ambiente convidado .

Sistemas operacionais suportados

Cada sistema operacional compatível disponível no Compute Engine requer pacotes de ambiente convidado específicos. O Google ou o proprietário do sistema operacional cria esses pacotes. Para obter informações sobre quem cria os pacotes do ambiente convidado, consulte as seções Diferenças notáveis ​​das imagens padrão no documento de detalhes do sistema operacional .

O ambiente convidado Linux

Quer o ambiente convidado Linux seja desenvolvido pelo Google ou pelo proprietário do sistema operacional, existem alguns componentes principais que são aplicáveis ​​a todas as compilações.

Os componentes básicos de um ambiente convidado Linux são fornecidos como pacotes deb ou rpm criados com as configurações apropriadas para as distribuições suportadas.

A lista a seguir resume os principais scripts, daemons e pacotes empacotados no ambiente convidado Linux:

  • O pacote google-compute-engine contém os seguintes componentes:

    • Scripts de inicialização do sistema para systemd .
    • Configurações do sistema, como regras udev , regras sysctl , configurações rsyslog e configurações de dhcp , que são usadas para configuração de nome de host.
    • Scripts Bash executados durante a inicialização da instância.

    Este pacote depende dos pacotes google-guest-agent e google-compute-engine-oslogin .

    Para revisar o código-fonte deste pacote, consulte guest-configs no GitHub .

  • O pacote google-guest-agent contém o agente convidado e os executáveis ​​de script de metadados que são executados no sistema operacional convidado para oferecer suporte aos recursos do Compute Engine. Os seguintes recursos são suportados pelo agente convidado do Linux:

    O agente convidado do Linux se comunica com os serviços do Compute Engine da seguinte maneira:

    O agente convidado Linux também coleta dados de telemetria do sistema operacional convidado para uso em análise e depuração. Os dados de telemetria incluem: nome do SO, versão do SO, versão do kernel do SO, versão do kernel do SO e versão do agente do SO. Para desabilitar a coleta de dados de telemetria, defina os seguintes metadados no nível da VM ou do projeto: disable-guest-telemetry=TRUE .

    A partir de dezembro de 2024, o agente convidado instala uma unidade secundária systemd chamada google-guest-agent-manager . Esta unidade gerencia o ciclo de vida dos plugins sob demanda.

    Para revisar o código-fonte deste pacote, consulte agente convidado no GitHub .

  • O pacote google-compute-engine-oslogin contém binários, módulos e scripts para login do sistema operacional . Você pode usar o Login do SO para gerenciar o acesso a instâncias de VM usando funções de gerenciamento de identidade e acesso (IAM).

    O pacote inclui o seguinte:

    • Comando de chaves autorizadas que fornece chaves SSH do perfil de login do sistema operacional do usuário para sshd para autenticar usuários no login.
    • Módulos Name Service Switch (NSS) que fornecem suporte para disponibilizar informações de usuário e grupo de login do sistema operacional para o sistema.
    • Módulos de autenticação conectáveis ​​(PAM) , que fornecem autorização (e autenticação se o suporte de dois fatores estiver ativado), permitem que o sistema use permissões do Google Cloud IAM para controlar a capacidade de fazer login em uma instância ou executar operações como root (via sudo).
    • google_oslogin_nss_cache que é um utilitário para atualizar o cache local do usuário e do grupo.
    • selinux contém arquivos de definição de política SELinux e um pacote de política compilado para configurar o SELinux para suportar o login do sistema operacional.

    Os componentes do Login do SO se comunicam com os serviços do Compute Engine da seguinte maneira:

    Para revisar o código-fonte deste pacote, consulte guest-oslogin no GitHub .

  • Os componentes gce-disk-expand se comunicam com os serviços do Compute Engine da seguinte maneira:

    • Envia logs para a porta serial

    Para revisar o código-fonte deste pacote, consulte guest-diskexpand no GitHub .

  • O pacote google-osconfig-agent contém o agente de configuração do SO que o VM Manager usa para gerenciar o inventário do SO, patches e políticas do SO.

    Os scripts se comunicam com os serviços do Compute Engine da seguinte maneira:

    Para revisar o código-fonte deste agente, consulte osconfig no GitHub .

O ambiente convidado do Windows

A lista a seguir resume os pacotes que fazem parte do ambiente convidado do Windows:

  • O pacote google-compute-engine-windows contém o agente convidado do Windows. O agente convidado do Windows é usado para oferecer suporte aos seguintes processos:

    O agente convidado do Windows se comunica com os serviços do Compute Engine da seguinte maneira: + Lê dados e grava dados nos metadados da VM + Envia logs para o log de eventos de aplicativos do Windows, porta serial e Cloud Logging

    O agente convidado do Windows também coleta dados de telemetria do sistema operacional convidado para uso em análise e depuração. Os dados de telemetria incluem: nome do SO, versão do SO, versão do kernel do SO, versão do kernel do SO e versão do agente do SO. Para desabilitar a coleta de dados de telemetria, defina os seguintes metadados no nível da VM ou do projeto: disable-guest-telemetry=TRUE .

    A partir de dezembro de 2024, o agente convidado instala um serviço de sistema secundário denominado GCEAgentManager . Este serviço gerencia o ciclo de vida dos plug-ins sob demanda.

    Para revisar o código-fonte deste agente, consulte agente convidado no GitHub .

  • O pacote google-compute-engine-sysprep contém scripts que servem para generalizar uma instância do Windows na preparação para a criação de uma imagem. O pacote também inclui o script instance_setup.ps1 que é usado na primeira inicialização para configurar a nova instância.

    Os scripts se comunicam com os serviços do Compute Engine da seguinte maneira:

    • Lê dados e grava dados nos metadados da VM
    • Envia logs para o log de eventos de aplicativos do Windows e porta serial

    Para revisar o código-fonte deste agente, consulte janelas de computação de imagens no GitHub

  • O pacote google-compute-engine-metadata-scripts contém scripts e binários usados ​​para executar o Compute Engine, sysprep-specialize, scripts de inicialização e desligamento .

    Os scripts se comunicam com os serviços do Compute Engine da seguinte maneira:

    • Lê dados e grava dados nos metadados da VM
    • Lê locais do Cloud Storage quando sysprep-specialize-script-url e windows-startup-script-url são usados
    • Envia logs para o log de eventos de aplicativos do Windows, porta serial e Cloud Logging

    Para revisar o código-fonte deste agente, consulte janelas de computação de imagens no GitHub

  • O pacote google-compute-engine-powershell contém um módulo PowerShell. Este módulo contém funções comuns usadas por scripts do PowerShell em outros scripts do Ambiente Convidado do Windows.

    Os scripts se comunicam com os seguintes serviços do Compute Engine:

    • A função de log no módulo PowerShell, por padrão, envia logs para o log de eventos de aplicativos do Windows e para a porta serial.

    Para revisar o código-fonte desse agente, consulte Janelas de computação de imagem no GitHub .

  • O pacote google-compute-engine-auto-updater contém scripts usados ​​para atualizar os pacotes do Compute Engine diariamente. Este pacote não está mais instalado por padrão.

    Os scripts se comunicam com os serviços do Compute Engine da seguinte maneira:

    • Lê dados de metadados da VM
    • Chama o agente Googet para enviar logs para o log de eventos de aplicativos do Windows e para o console

    Para revisar o código-fonte desse agente, consulte Janelas de computação de imagem no GitHub .

  • O pacote google-compute-engine-diagnostics contém um binário que é usado para obter informações de diagnóstico da instância e salva as informações em um intervalo do Cloud Storage. O binário é executado pelo agente convidado do Windows.

    Os scripts se comunicam com os serviços do Compute Engine da seguinte maneira:

    • Salva dados em um intervalo do Cloud Storage

    Para revisar o código-fonte deste agente, consulte computate-image-tools no GitHub

  • O pacote certgen contém um binário que cria um certificado na instância.

    Para revisar o código-fonte desse agente, consulte Janelas de computação de imagem no GitHub .

  • O pacote googet contém um binário que é um gerenciador de pacotes usado para instalar e manter o ambiente convidado.

    Os scripts se comunicam com os serviços do Compute Engine lendo dados do Google Cloud repositórios em packages.cloud.google.com .

    Para revisar o código-fonte deste agente, consulte googet no GitHub .

  • O pacote google-compute-engine-vss instala o agente e o provedor VSS do Compute Engine que são usados ​​para obter um snapshot de disco permanente usando o Volume Shadow Copy Service (VSS) da Microsoft.

    Os scripts se comunicam com os serviços do Compute Engine da seguinte maneira:

    • Comunica-se com o Google Cloud serviço de instantâneo

    Para revisar o código-fonte deste agente, consulte janelas de computação de imagem no GitHub

  • O pacote google-osconfig-agent contém o agente de configuração do sistema operacional que é usado pelo VM Manager para gerenciar inventário de sistema operacional, patches e políticas de sistema operacional.

    Os scripts se comunicam com os serviços do Compute Engine da seguinte maneira:

    Para revisar o código-fonte deste agente, consulte osconfig no GitHub .

Drivers do Compute Engine para Windows

Os seguintes drivers do Compute Engine são mantidos para imagens do Windows:

Tipo de driver Nome do pacote
Adaptador Ethernet google-compute-engine-driver-netkvm
Disco SCSI google-compute-engine-driver-vioscsi
Adaptador de vídeo google-compute-engine-driver-gga
Manipulador de falhas google-compute-engine-driver-pvpanic
Driver de balão de memória Virtio balão-driver-do-google-compute-engine
Placa de rede virtual do Google google-compute-engine-driver-gvnic

Cada driver é empacotado usando GooGet e publicado em Google Cloud repositórios. O código-fonte dos drivers está em compute-windows-drivers no GitHub . Todos Google Cloud As imagens do Windows são pré-configuradas com a ferramenta GooGet e Google Cloudrepositórios. Se você mesmo precisar instalar o GooGet e configurar repositórios, consulte Empacotamento e distribuição de pacotes .

Para instalar ou atualizar um driver específico, execute o seguinte comando:

googet install DRIVER_PACKAGE_NAME

O que vem a seguir

Para obter instruções passo a passo sobre a instalação do ambiente convidado, consulte Instalando o ambiente convidado .

,

Quando você inicia uma instância de máquina virtual (VM) usando imagens públicas fornecidas pelo Google, um ambiente convidado é instalado automaticamente na instância de VM. O ambiente convidado é um conjunto de scripts, daemons e binários que leem o conteúdo do servidor de metadados para fazer uma VM ser executada corretamente no Compute Engine. Um servidor de metadados é um canal de comunicação para transferir informações de um cliente para o sistema operacional convidado.

Este documento fornece uma visão geral dos componentes do ambiente convidado, dos sistemas operacionais suportados e explica como saber quando você precisa instalar ou atualizar manualmente o ambiente convidado.

Quando instalar ou atualizar manualmente o ambiente convidado

As instâncias de VM criadas usando imagens públicas fornecidas pelo Google incluem um ambiente convidado instalado por padrão.

Para verificar se o ambiente convidado está em execução na sua instância, consulte validar o ambiente convidado .

Em alguns casos, o ambiente convidado instalado pode ficar desatualizado. Se o ambiente convidado estiver disponível na sua instância, mas estiver desatualizado, atualize o ambiente convidado .

Caso contrário, poderá ser necessário instalar manualmente o ambiente convidado nas seguintes condições:

  • Você está importando uma imagem personalizada ou um disco virtual para a plataforma Compute Engine e optando por não permitir a instalação automática do ambiente convidado.

    Ao importar discos virtuais ou imagens personalizadas, você tem a opção de permitir que o Compute Engine instale o ambiente convidado para você. No entanto, se você optar por não instalar o ambiente convidado durante o processo de importação, para instalar o ambiente convidado, deverá seguir as etapas manuais.

  • Você está migrando VMs para o Compute Engine usando o Migrate to Virtual Machines .

  • Você está usando uma imagem que não possui otimizações de ambiente convidado para discos SSD locais .

  • Você tem instâncias que usam uma imagem anterior a v20141218 .

Se precisar instalar manualmente o ambiente convidado, consulte Instalando o ambiente convidado .

Sistemas operacionais suportados

Cada sistema operacional compatível disponível no Compute Engine requer pacotes de ambiente convidado específicos. O Google ou o proprietário do sistema operacional cria esses pacotes. Para obter informações sobre quem cria os pacotes do ambiente convidado, consulte as seções Diferenças notáveis ​​das imagens padrão no documento de detalhes do sistema operacional .

O ambiente convidado Linux

Quer o ambiente convidado Linux seja desenvolvido pelo Google ou pelo proprietário do sistema operacional, existem alguns componentes principais que são aplicáveis ​​a todas as compilações.

Os componentes básicos de um ambiente convidado Linux são fornecidos como pacotes deb ou rpm criados com as configurações apropriadas para as distribuições suportadas.

A lista a seguir resume os principais scripts, daemons e pacotes empacotados no ambiente convidado Linux:

  • O pacote google-compute-engine contém os seguintes componentes:

    • Scripts de inicialização do sistema para systemd .
    • Configurações do sistema, como regras udev , regras sysctl , configurações rsyslog e configurações de dhcp , que são usadas para configuração de nome de host.
    • Scripts Bash executados durante a inicialização da instância.

    Este pacote depende dos pacotes google-guest-agent e google-compute-engine-oslogin .

    Para revisar o código-fonte deste pacote, consulte guest-configs no GitHub .

  • O pacote google-guest-agent contém o agente convidado e os executáveis ​​de script de metadados que são executados no sistema operacional convidado para oferecer suporte aos recursos do Compute Engine. Os seguintes recursos são suportados pelo agente convidado do Linux:

    O agente convidado do Linux se comunica com os serviços do Compute Engine da seguinte maneira:

    O agente convidado Linux também coleta dados de telemetria do sistema operacional convidado para uso em análise e depuração. Os dados de telemetria incluem: nome do SO, versão do SO, versão do kernel do SO, versão do kernel do SO e versão do agente do SO. Para desabilitar a coleta de dados de telemetria, defina os seguintes metadados no nível da VM ou do projeto: disable-guest-telemetry=TRUE .

    A partir de dezembro de 2024, o agente convidado instala uma unidade secundária systemd chamada google-guest-agent-manager . Esta unidade gerencia o ciclo de vida dos plugins sob demanda.

    Para revisar o código-fonte deste pacote, consulte agente convidado no GitHub .

  • O pacote google-compute-engine-oslogin contém binários, módulos e scripts para login do sistema operacional . Você pode usar o Login do SO para gerenciar o acesso a instâncias de VM usando funções de gerenciamento de identidade e acesso (IAM).

    O pacote inclui o seguinte:

    • Comando de chaves autorizadas que fornece chaves SSH do perfil de login do sistema operacional do usuário para sshd para autenticar usuários no login.
    • Módulos Name Service Switch (NSS) que fornecem suporte para disponibilizar informações de usuário e grupo de login do sistema operacional para o sistema.
    • Módulos de autenticação conectáveis ​​(PAM) , que fornecem autorização (e autenticação se o suporte de dois fatores estiver ativado), permitem que o sistema use permissões do Google Cloud IAM para controlar a capacidade de fazer login em uma instância ou executar operações como root (via sudo).
    • google_oslogin_nss_cache que é um utilitário para atualizar o cache local do usuário e do grupo.
    • selinux contém arquivos de definição de política SELinux e um pacote de política compilado para configurar o SELinux para suportar o login do sistema operacional.

    Os componentes do Login do SO se comunicam com os serviços do Compute Engine da seguinte maneira:

    Para revisar o código-fonte deste pacote, consulte guest-oslogin no GitHub .

  • Os componentes gce-disk-expand se comunicam com os serviços do Compute Engine da seguinte maneira:

    • Envia logs para a porta serial

    Para revisar o código-fonte deste pacote, consulte guest-diskexpand no GitHub .

  • O pacote google-osconfig-agent contém o agente de configuração do SO que o VM Manager usa para gerenciar o inventário do SO, patches e políticas do SO.

    Os scripts se comunicam com os serviços do Compute Engine da seguinte maneira:

    Para revisar o código-fonte deste agente, consulte osconfig no GitHub .

O ambiente convidado do Windows

A lista a seguir resume os pacotes que fazem parte do ambiente convidado do Windows:

  • O pacote google-compute-engine-windows contém o agente convidado do Windows. O agente convidado do Windows é usado para oferecer suporte aos seguintes processos:

    O agente convidado do Windows se comunica com os serviços do Compute Engine da seguinte maneira: + Lê dados e grava dados nos metadados da VM + Envia logs para o log de eventos de aplicativos do Windows, porta serial e Cloud Logging

    O agente convidado do Windows também coleta dados de telemetria do sistema operacional convidado para uso em análise e depuração. Os dados de telemetria incluem: nome do SO, versão do SO, versão do kernel do SO, versão do kernel do SO e versão do agente do SO. Para desabilitar a coleta de dados de telemetria, defina os seguintes metadados no nível da VM ou do projeto: disable-guest-telemetry=TRUE .

    A partir de dezembro de 2024, o agente convidado instala um serviço de sistema secundário denominado GCEAgentManager . Este serviço gerencia o ciclo de vida dos plug-ins sob demanda.

    Para revisar o código-fonte deste agente, consulte agente convidado no GitHub .

  • O pacote google-compute-engine-sysprep contém scripts que servem para generalizar uma instância do Windows na preparação para a criação de uma imagem. O pacote também inclui o script instance_setup.ps1 que é usado na primeira inicialização para configurar a nova instância.

    Os scripts se comunicam com os serviços do Compute Engine da seguinte maneira:

    • Lê dados e grava dados nos metadados da VM
    • Envia logs para o log de eventos de aplicativos do Windows e porta serial

    Para revisar o código-fonte deste agente, consulte janelas de computação de imagens no GitHub

  • O pacote google-compute-engine-metadata-scripts contém scripts e binários usados ​​para executar o Compute Engine, sysprep-specialize, scripts de inicialização e desligamento .

    Os scripts se comunicam com os serviços do Compute Engine da seguinte maneira:

    • Lê dados e grava dados nos metadados da VM
    • Lê locais do Cloud Storage quando sysprep-specialize-script-url e windows-startup-script-url são usados
    • Envia logs para o log de eventos de aplicativos do Windows, porta serial e Cloud Logging

    Para revisar o código-fonte deste agente, consulte janelas de computação de imagens no GitHub

  • O pacote google-compute-engine-powershell contém um módulo PowerShell. Este módulo contém funções comuns usadas por scripts do PowerShell em outros scripts do Ambiente Convidado do Windows.

    Os scripts se comunicam com os seguintes serviços do Compute Engine:

    • A função de log no módulo PowerShell, por padrão, envia logs para o log de eventos de aplicativos do Windows e para a porta serial.

    Para revisar o código-fonte desse agente, consulte Janelas de computação de imagem no GitHub .

  • O pacote google-compute-engine-auto-updater contém scripts usados ​​para atualizar os pacotes do Compute Engine diariamente. Este pacote não está mais instalado por padrão.

    Os scripts se comunicam com os serviços do Compute Engine da seguinte maneira:

    • Lê dados de metadados da VM
    • Chama o agente Googet para enviar logs para o log de eventos de aplicativos do Windows e para o console

    Para revisar o código-fonte desse agente, consulte Janelas de computação de imagem no GitHub .

  • O pacote google-compute-engine-diagnostics contém um binário que é usado para obter informações de diagnóstico da instância e salva as informações em um intervalo do Cloud Storage. O binário é executado pelo agente convidado do Windows.

    Os scripts se comunicam com os serviços do Compute Engine da seguinte maneira:

    • Salva dados em um intervalo do Cloud Storage

    Para revisar o código-fonte deste agente, consulte computate-image-tools no GitHub

  • O pacote certgen contém um binário que cria um certificado na instância.

    Para revisar o código-fonte desse agente, consulte Janelas de computação de imagem no GitHub .

  • O pacote googet contém um binário que é um gerenciador de pacotes usado para instalar e manter o ambiente convidado.

    Os scripts se comunicam com os serviços do Compute Engine lendo dados do Google Cloud repositórios em packages.cloud.google.com .

    Para revisar o código-fonte deste agente, consulte googet no GitHub .

  • O pacote google-compute-engine-vss instala o agente e o provedor VSS do Compute Engine que são usados ​​para obter um snapshot de disco permanente usando o Volume Shadow Copy Service (VSS) da Microsoft.

    Os scripts se comunicam com os serviços do Compute Engine da seguinte maneira:

    • Comunica-se com o Google Cloud serviço de instantâneo

    Para revisar o código-fonte deste agente, consulte janelas de computação de imagens no GitHub

  • O pacote google-osconfig-agent contém o agente de configuração do sistema operacional que é usado pelo VM Manager para gerenciar inventário de sistema operacional, patches e políticas de sistema operacional.

    Os scripts se comunicam com os serviços do Compute Engine da seguinte maneira:

    Para revisar o código-fonte deste agente, consulte osconfig no GitHub .

Drivers do Compute Engine para Windows

Os seguintes drivers do Compute Engine são mantidos para imagens do Windows:

Tipo de driver Nome do pacote
Adaptador Ethernet google-compute-engine-driver-netkvm
Disco SCSI google-compute-engine-driver-vioscsi
Adaptador de vídeo google-compute-engine-driver-gga
Manipulador de falhas google-compute-engine-driver-pvpanic
Driver de balão de memória Virtio balão-driver-do-google-compute-engine
Placa de rede virtual do Google google-compute-engine-driver-gvnic

Cada driver é empacotado usando GooGet e publicado em Google Cloud repositórios. O código-fonte dos drivers está em compute-windows-drivers no GitHub . Todos Google Cloud As imagens do Windows são pré-configuradas com a ferramenta GooGet e Google Cloudrepositórios. Se você mesmo precisar instalar o GooGet e configurar repositórios, consulte Empacotamento e distribuição de pacotes .

Para instalar ou atualizar um driver específico, execute o seguinte comando:

googet install DRIVER_PACKAGE_NAME

O que vem a seguir

Para obter instruções passo a passo sobre a instalação do ambiente convidado, consulte Instalando o ambiente convidado .