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 SSD local.
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
, regrassysctl
, configuraçõesrsyslog
e configuraçõesdhcp
, 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
egoogle-compute-engine-oslogin
.Para analisar o código-fonte desse pacote, consulte guest-configs no GitHub (em inglês).
- Scripts de inicialização do sistema para
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. Esses recursos incluem gerenciamento de contas, integração de login do SO, distorção de relógio e gerenciamento de interface de rede e configuração de instâncias.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 Cloud Logging
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:
- Comando de chaves autorizado, que fornece chaves SSH do perfil de Login do SO do usuário para sshd para autenticar usuários no login.
- Módulos de chave de serviço de nome (NSS, na sigla em inglês), que suportam a disponibilização de informações de usuários e grupos do Login do SO ao sistema.
- Módulos de autenticação plugáveis (PAM, na sigla em inglês) que fornecem autorização (e autenticação, se o suporte de dois fatores estiver ativado) permitindo que o sistema use as permissões do Google Cloud IAM para controlar a capacidade para fazer login em uma instância ou executar operações como raiz (via sudo).
google_oslogin_nss_cache
, que é um utilitário para atualizar o cache local do usuário e do grupo.- O script de shell
google_oslogin_control
ativa ou desativa os recursos de Login do SO. selinux
contém arquivos de definição de política do SELinux e um pacote de políticas compilado para configurar o SELinux para aceitar o Login do SO.
Os componentes do Login do SO 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, opcionalmente, para o Cloud Logging
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 é usado para gerenciamento de inventário do SO, gerenciamento de correções do SO e gerenciamento de configuração do SO usando o VM Manager.Os scripts se comunicam com os serviços do Compute Engine da seguinte maneira:
- Lê e grava dados nos metadados da VM
- Por padrão, o agente de configuração do SO não coleta nem envia informações até que o agente de configuração do SO esteja ativado. Após a ativação, o agente se comunica com o serviço da API OS Config. Para analisar as operações concluídas pelo agente, consulte Como visualizar registros de auditoria do VM Manager.
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 usado paracriar contas de usuário locais e definir/redefinir senhas ,configurar a interface de rede e fornecerSuporte ao cluster de failover do Windows.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.
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 scriptinstance_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
ewindows-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 da seguinte maneira:
- Lê dados dos repositórios do Google Cloud
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 para gerenciamento de inventário do SO, gerenciamento de correções do SO e gerenciamento de configuração do SO usando o VM Manager.Os scripts se comunicam com os serviços do Compute Engine da seguinte maneira:
- Lê e grava dados nos metadados da VM
- Por padrão, o agente de configuração do SO não coleta nem envia informações até que o agente de configuração do SO esteja ativado. Após a ativação, o agente se comunica com o serviço da API OS Config. Para analisar as operações concluídas pelo agente, consulte Como visualizar registros de auditoria do VM Manager.
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 exibição | google-compute-engine-driver-gga |
Gerenciador de falhas | google-compute-engine-driver-pvpanic |
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.