Ambiente para convidado


Quando você inicia uma instância de 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 com que uma VM seja 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.

Neste documento, apresentamos uma visão geral dos componentes do ambiente convidado, dos sistemas operacionais compatíveis e explicamos como aprender quando é preciso instalar ou atualizar manualmente esse ambiente.

Quando instalar ou atualizar manualmente o ambiente convidado

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

Para verificar se o ambiente convidado está sendo executado em sua instância, consulte Validar o ambiente convidado.

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

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

  • Você está importando uma imagem personalizada ou um disco virtual para a plataforma do Compute Engine e optando por não permitir uma 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, será preciso seguir as etapas manuais para instalar esse ambiente.

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

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

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

Se você precisar instalar manualmente o ambiente convidado, consulte Como instalar o ambiente convidado.

Sistemas operacionais compatíveis

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

O ambiente convidado do Linux

O ambiente convidado do Linux pode ser criado pelo Google ou pelo proprietário do sistema operacional. Independentemente disso, há alguns componentes importantes que são aplicáveis a todas as versões.

Os componentes base de um ambiente de convidado do Linux são fornecidos como pacotes deb ou rpm, que são criados com as configurações apropriadas para as distribuições compatíveis.

Veja abaixo um resumo dos principais scripts, daemons e pacotes que estão no ambiente para convidado do 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 dhcp, que são usadas para definição do nome do host
    • Scripts bash que são executados durante a inicialização da instância.

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

    Para analisar o código-fonte desse pacote, consulte guest-configs no GitHub (em inglês).

  • O pacote google-guest-agent contém os executáveis do agente de convidado e do script de metadados executados no SO convidado para oferecer suporte aos recursos do Compute Engine. O agente convidado do Linux oferece suporte aos seguintes recursos:

    O agente convidado do Linux se comunica com os serviços do Compute Engine da seguinte maneira: + Lê e grava dados nos metadados da VM + Envia registros para a porta serial e, opcionalmente, para o Logging do Cloud

    O agente convidado do Linux também coleta dados de telemetria do SO convidado para analisar e depurar. Os dados de telemetria incluem: nome do SO, versão do SO, versão do kernel do SO e versão do agente do SO. Para desativar a coleta de dados de telemetria, defina os seguintes metadados no nível da VM ou do projeto: disable-guest-telemetry=TRUE.

    Para analisar o código-fonte desse pacote, consulte guest-agent no GitHub (em inglês).

  • O pacote google-compute-engine-oslogin contém os binários, módulos e scripts para o Login do SO. É possível usar o Login do SO para gerenciar o acesso a instâncias de VM usando os papéis de gerenciamento de identidade e acesso (IAM, na sigla em inglês).

    O pacote inclui o seguinte:

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

    Para ver o código-fonte desse pacote, consulte guest-oslogin no GitHub (em inglês).

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

    • Envia registros para a porta serial

    Para revisar o código-fonte desse 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, as correções e as políticas do SO.

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

    Para revisar o código-fonte desse 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 dar suporte aos seguintes processos:

    O agente convidado do Windows se comunica com os serviços do Compute Engine da seguinte maneira: + Lê e grava dados nos metadados da VM + Envia registros 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 SO 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 e versão do agente do SO. Para desativar a coleta de dados de telemetria, defina os seguintes metadados no nível da VM ou do projeto: disable-guest-telemetry=TRUE.

    Para revisar o código-fonte desse agente, consulte guest-agent no GitHub.

  • O pacote google-compute-engine-sysprep contém scripts para generalizar uma instância do Windows em 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ê e grava dados nos metadados da VM
    • Envia registros para a porta serial e o log de eventos de aplicativos do Windows

    Para analisar o código-fonte desse agente, consulte compute-image-windows no GitHub

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

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

    • Lê 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 registros para o log de eventos de aplicativos do Windows, porta serial e Cloud Logging.

    Para analisar o código-fonte desse agente, consulte compute-image-windows no GitHub

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

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

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

    Para analisar o código-fonte desse agente, consulte compute-image-windows no GitHub

  • O pacote google-compute-engine-auto-updater contém scripts usados para atualizar os pacotes do Compute Engine diariamente. Esse 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 do Google para enviar registros ao console e ao log de eventos de aplicativos do Windows

    Para analisar o código-fonte desse agente, consulte compute-image-windows no GitHub.

  • O pacote google-compute-engine-diagnostics contém um binário que é usado para receber informações de diagnóstico da instância e as salva em um bucket 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 bucket do Cloud Storage

    Para analisar o código-fonte desse agente, consulte compute-image-tools no GitHub

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

    Para analisar o código-fonte desse agente, consulte compute-image-windows no GitHub.

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

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

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

  • O pacote google-compute-engine-vss instala o agente e o provedor VSS do Compute Engine usados para realizar uma snapshot do disco permanente usando aServiço de cópia de sombra de volume (VSS, na sigla em inglês) de dados.

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

    • Comunica com o serviço de snapshot do Google Cloud

    Para analisar o código-fonte desse agente, consulte compute-image-windows no GitHub

  • O pacote google-osconfig-agent contém o agente de configuração do SO, que é usado pelo VM Manager para gerenciar o inventário do SO, correções 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 desse agente, consulte osconfig no GitHub.

Drivers do Windows do Compute Engine

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
Gerenciador de falhas google-compute-engine-driver-pvpanic
Driver de balão de memória virtio google-compute-engine-driver-balloon
NIC virtual do Google google-compute-engine-driver-gvnic

Cada driver é inserido em um pacote por meio do GooGet e publicado nos repositórios do Google Cloud. O código-fonte dos drivers está em compute-windows-drivers no GitHub. Todas as imagens do Windows do Google Cloud são pré-configuradas com a ferramenta GooGet e os repositórios do Google Cloud. Se você precisar instalar o GooGet e configurar repositórios, consulte Como criar e distribuir pacotes.

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

googet install DRIVER_PACKAGE_NAME

A seguir

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