Nesta página, você aprende a instalar manualmente o ambiente de convidado para instâncias de máquina virtual (VM) que executam imagens personalizadas no Compute Engine.
Na maioria dos casos, se você usa VMs criadas por meio de imagens públicas fornecidas pelo Google, não é necessário instalar um ambiente de convidado. Para informações sobre quando usar o ambiente convidado, consulte Quando instalar ou atualizar manualmente o ambiente convidado.
Antes de instalar manualmente o ambiente de convidado, use o procedimento Validar o ambiente de convidado para verificar se esse ambiente está sendo executado na VM. Se o ambiente do convidado estiver disponível na VM, mas desatualizado, atualize o ambiente do convidado.
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
Ferramenta de importação. Essa é a opção recomendada. No entanto, lembre-se de que a ferramenta de importação não apenas instala o ambiente convidado, mas também faz outras atualizações de configuração na imagem, como configurar redes, configurar o carregador de inicialização e instalar a CLI do Google Cloud. Para instruções sobre como usá-la, consulte Como tornar uma imagem inicializável.
A ferramenta de importação é compatível com uma grande variedade de sistemas operacionais e versões. Para mais informações, consulte Detalhes do sistema operacional.
Instalação manual. Escolha uma destas opções:
- Conecte-se à instância usando SSH ou RDP e instale o ambiente de convidado no local.
- Clone o disco de inicialização e instale o ambiente de convidado usando um script de inicialização.
- Garanta que a versão do seu sistema operacional seja compatível.
Determine a versão do CentOS/RHEL/Rocky Linux e crie o arquivo de repositório de origem
/etc/yum.repos.d/google-cloud.repo
:eval $(grep VERSION_ID /etc/os-release) sudo tee /etc/yum.repos.d/google-cloud.repo << EOM [google-compute-engine] name=Google Compute Engine baseurl=https://packages.cloud.google.com/yum/repos/google-compute-engine-el${VERSION_ID/.*}-x86_64-stable enabled=1 gpgcheck=1 repo_gpgcheck=0 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOM
Atualize as listas de pacotes:
sudo yum makecache sudo yum updateinfo
Instale os pacotes do ambiente de convidado:
sudo yum install -y google-compute-engine google-osconfig-agent
Reinicie a instância e inspecione o respectivo registro do console para garantir que o ambiente de convidado seja carregado assim que iniciar o backup.
Verifique se é possível se conectar à instância usando SSH.
- Garanta que a versão do seu sistema operacional seja compatível.
Instale a chave GPG pública de repositório:
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
Determine o nome da distribuição Debian e crie o arquivo da lista de fontes,
/etc/apt/sources.list.d/google-cloud.list
:eval $(grep VERSION_CODENAME /etc/os-release) sudo tee /etc/apt/sources.list.d/google-cloud.list << EOM deb http://packages.cloud.google.com/apt google-compute-engine-${VERSION_CODENAME}-stable main deb http://packages.cloud.google.com/apt google-cloud-packages-archive-keyring-${VERSION_CODENAME} main EOM
Atualize as listas de pacotes:
sudo apt update
Instale os pacotes do ambiente de convidado:
sudo apt install -y google-cloud-packages-archive-keyring sudo apt install -y google-compute-engine google-osconfig-agent
Reinicie a instância e inspecione o respectivo registro do console para garantir que o ambiente de convidado seja carregado assim que iniciar o backup.
Verifique se é possível se conectar à instância usando SSH.
Garanta que a versão do seu sistema operacional seja compatível.
Ative o repositório Universe (em inglês). A Canonical publica pacotes referentes ao ambiente de convidado dela no repositório Universe.
sudo apt-add-repository universe
Atualize as listas de pacotes:
sudo apt update
Instale os pacotes do ambiente de convidado:
sudo apt install -y google-compute-engine google-osconfig-agent
Reinicie a instância e inspecione o respectivo registro do console para garantir que o ambiente de convidado seja carregado assim que iniciar o backup.
Verifique se é possível se conectar à instância usando SSH.
Garanta que a versão do seu sistema operacional seja compatível.
Ative o Módulo de nuvem pública.
product=$(sudo SUSEConnect --list-extensions | grep -o "sle-module-public-cloud.*") [[ -n "$product" ]] && sudo SUSEConnect -p "$product"
Atualize as listas de pacotes:
sudo zypper refresh
Instale os pacotes do ambiente de convidado:
sudo zypper install -y google-guest-{agent,configs,oslogin} \ google-osconfig-agent sudo systemctl enable /usr/lib/systemd/system/google-*
Reinicie a instância e inspecione o respectivo registro do console para garantir que o ambiente de convidado seja carregado assim que iniciar o backup.
Verifique se é possível se conectar à instância usando SSH.
Faça o download e instale
GooGet
.[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest https://github.com/google/googet/releases/download/v2.18.3/googet.exe -OutFile $env:temp\googet.exe; & "$env:temp\googet.exe" -root C:\ProgramData\GooGet -noconfirm install -sources ` https://packages.cloud.google.com/yuck/repos/google-compute-engine-stable googet; Remove-Item "$env:temp\googet.exe"
Durante a instalação, o
GooGet
adiciona conteúdo ao ambiente do sistema. Após a instalação, inicie um novo console do PowerShell ou forneça o caminho completo para o arquivogooget.exe
(C:\ProgramData\GooGet\googet.exe).Abra um novo console e adicione o repositório
google-compute-engine-stable
.googet addrepo google-compute-engine-stable https://packages.cloud.google.com/yuck/repos/google-compute-engine-stable
Instale os principais pacotes do ambiente de convidado do Windows.
googet -noconfirm install google-compute-engine-windows ` google-compute-engine-sysprep google-compute-engine-metadata-scripts ` google-compute-engine-vss google-osconfig-agent
Instale o pacote opcional do ambiente de convidado do Windows.
googet -noconfirm install google-compute-engine-auto-updater
Uso do comando
googet
.Para ver os pacotes disponíveis, execute o comando
googet available
.Para ver os pacotes instalados, execute o comando
googet installed
.Para atualizar para a versão mais recente do pacote, execute o comando
googet update
.Para ver outros comandos, execute
googet help
.Garanta que a versão do seu sistema operacional seja compatível.
Crie uma nova instância que sirva como a de resgate. Dê o nome de rescue a ela. Ela não precisa executar o mesmo SO Linux da instância problemática. Neste exemplo, é usado o Debian 9 na instância de resgate.
Pare a instância problemática e crie uma cópia do disco de inicialização correspondente.
Defina um nome de variável para a instância problemática. Assim, fica mais fácil consultá-la nas etapas posteriores.
export PROB_INSTANCE_NAME=VM_NAME
Substitua VM_NAME pelo nome da instância problemática.
Interrompa a instância problemática.
gcloud compute instances stop "$PROB_INSTANCE_NAME"
Consiga o nome do disco de inicialização da instância com problema.
export PROB_INSTANCE_DISK="$(gcloud compute instances describe \ "$PROB_INSTANCE_NAME" --format='json' | jq -r \ '.disks[] | select(.boot == true) | .source')"
Crie um snapshot do disco de inicialização.
export DISK_SNAPSHOT="${PROB_INSTANCE_NAME}-snapshot" gcloud compute disks snapshot "$PROB_INSTANCE_DISK" \ --snapshot-names "$DISK_SNAPSHOT"
Crie um novo disco a partir do snapshot.
export NEW_DISK="${PROB_INSTANCE_NAME}-new-disk" gcloud compute disks create "$NEW_DISK" \ --source-snapshot="$DISK_SNAPSHOT"
Exclua o snapshot:
gcloud compute snapshots delete "$DISK_SNAPSHOT"
Anexe o novo disco à instância de resgate e ative o volume raiz dela. Como esse procedimento apenas anexa um disco extra, o identificador de dispositivo do novo disco será /dev/sdb. Por padrão, o CentOS/RHEL/Rocky Linux usa o primeiro volume em um disco como raiz. Desse modo, o identificador do volume será /dev/sdb1. Em casos específicos, use
lsblk
para determinar o identificador do volume.gcloud compute instances attach-disk rescue --disk "$NEW_DISK"
Conecte-se à instância de resgate usando SSH:
gcloud compute ssh rescue
Siga as próximas etapas na instância de resgate.
Ative o volume raiz do novo disco.
export NEW_DISK_MOUNT_POINT="/tmp/sdb-root-vol" DEV="/dev/sdb1" sudo mkdir "$NEW_DISK_MOUNT_POINT" sudo mount -o nouuid "$DEV" "$NEW_DISK_MOUNT_POINT"
Crie o script
rc.local
.cat <<'EOF' >/tmp/rc.local #!/bin/bash echo "== Installing Google guest environment for CentOS/RHEL/Rocky Linux ==" sleep 30 # Wait for network. echo "Determining CentOS/RHEL/Rocky Linux version..." eval $(grep VERSION_ID /etc/os-release) if [[ -z $VERSION_ID ]]; then echo "ERROR: Could not determine version of CentOS/RHEL/Rocky Linux." exit 1 fi echo "Updating repo file..." tee "/etc/yum.repos.d/google-cloud.repo" << EOM [google-compute-engine] name=Google Compute Engine baseurl=https://packages.cloud.google.com/yum/repos/google-compute-engine-el${VERSION_ID/.*}-x86_64-stable enabled=1 gpgcheck=1 repo_gpgcheck=0 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOM echo "Running yum makecache..." yum makecache echo "Running yum updateinfo..." yum updateinfo echo "Running yum install google-compute-engine..." yum install -y google-compute-engine rpm -q google-compute-engine if [[ $? -ne 0 ]]; then echo "ERROR: Failed to install ${pkg}." fi echo "Removing this rc.local script." rm /etc/rc.d/rc.local # Move back any previous rc.local: if [[ -f "/etc/moved-rc.local" ]]; then echo "Restoring a previous rc.local script." mv "/etc/moved-rc.local" "/etc/rc.d/rc.local" fi echo "Restarting the instance..." reboot EOF
Mova o script
rc.local
para o volume raiz do novo disco e defina as permissões. Separe qualquer scriptrc.local
existente. O script temporário o substituirá quando for concluído.if [ -f "$NEW_DISK_MOUNT_POINT/etc/rc.d/rc.local" ]; then sudo mv "$NEW_DISK_MOUNT_POINT/etc/rc.d/rc.local" \ "$NEW_DISK_MOUNT_POINT/etc/moved-rc.local" fi sudo mv /tmp/rc.local "$NEW_DISK_MOUNT_POINT/etc/rc.d/rc.local" sudo chmod 0755 "$NEW_DISK_MOUNT_POINT/etc/rc.d/rc.local" sudo chown root:root "$NEW_DISK_MOUNT_POINT/etc/rc.d/rc.local"
Desative o volume raiz do novo disco.
sudo umount "$NEW_DISK_MOUNT_POINT" && sudo rmdir \ "$NEW_DISK_MOUNT_POINT"
Saia da sessão SSH para a instância de resgate.
Separe o novo disco da instância de resgate.
gcloud compute instances detach-disk rescue --disk "$NEW_DISK"
Crie uma instância que sirva como substituta. Ao criar a instância de substituição, especifique o novo disco como o de inicialização. É possível criar a instância de substituição usando o Console do Google Cloud:
No console do Google Cloud, acesse a página Instâncias de VMs.
Clique na instância problemática e, em seguida, selecione Criar semelhante.
Especifique um nome para a instância de substituição. Na seção Disco de inicialização, clique em Alterar e, em seguida, em Discos existentes. Selecione o novo disco.
Clique em Criar. A instância de substituição é iniciada automaticamente depois de criada.
Quando a instância de substituição é inicializada, o script temporário
rc.local
é executado e instala o ambiente de convidado. Para ver o andamento desse script, inspecione nos registros do console as linhas emitidas pelo script temporáriorc.local
. Para ver os registros, execute o seguinte comando:gcloud compute instances get-serial-port-output REPLACEMENT_VM_NAME
Substitua REPLACEMENT_VM_NAME pelo nome atribuído à instância substituta.
A instância de substituição também é reinicializada automaticamente quando o script temporário
rc.local
é concluído. Durante a segunda reinicialização, é possível inspecionar o registro do console para garantir que o ambiente de convidado seja carregado.Verifique se é possível se conectar à instância usando SSH.
Depois que você estiver satisfeito com o funcionamento da instância de substituição, será possível interromper ou excluir a instância problemática.
Garanta que a versão do seu sistema operacional seja compatível.
Crie uma nova instância para servir como a de resgate. Dê o nome de rescue a ela. Ela não precisa executar o mesmo SO Linux da instância problemática. Neste exemplo, é usado o Debian 9 na instância de resgate.
Interrompa a instância problemática e crie uma cópia do disco de inicialização correspondente.
Defina um nome de variável para a instância problemática. Assim, fica mais fácil consultá-la nas etapas posteriores.
export PROB_INSTANCE_NAME=VM_NAME
Substitua VM_NAME pelo nome da instância problemática.
Interrompa a instância problemática.
gcloud compute instances stop "$PROB_INSTANCE_NAME"
Consiga o nome do disco de inicialização da instância com problema.
export PROB_INSTANCE_DISK="$(gcloud compute instances describe \ "$PROB_INSTANCE_NAME" --format='json' | jq -r \ '.disks[] | select(.boot == true) | .source')"
Crie um snapshot do disco de inicialização.
export DISK_SNAPSHOT="${PROB_INSTANCE_NAME}-snapshot" gcloud compute disks snapshot "$PROB_INSTANCE_DISK" \ --snapshot-names "$DISK_SNAPSHOT"
Crie um novo disco a partir do snapshot.
export NEW_DISK="${PROB_INSTANCE_NAME}-new-disk" gcloud compute disks create "$NEW_DISK" \ --source-snapshot="$DISK_SNAPSHOT"
Exclua o snapshot:
gcloud compute snapshots delete "$DISK_SNAPSHOT"
Anexe o novo disco à instância de resgate e ative o volume raiz dela. Como esse procedimento apenas anexa um disco extra, o identificador de dispositivo do novo disco será /dev/sdb. Por padrão, o Debian usa o primeiro volume no disco como raiz. Desse modo, o identificador do volume será /dev/sdb1. Em casos específicos, use
lsblk
para determinar o identificador do volume.gcloud compute instances attach-disk rescue --disk "$NEW_DISK"
Conecte-se à instância de resgate usando SSH:
gcloud compute ssh rescue
Siga as próximas etapas na instância de resgate.
Ative o volume raiz do novo disco.
export NEW_DISK_MOUNT_POINT="/tmp/sdb-root-vol" DEV="/dev/sdb1" sudo mkdir "$NEW_DISK_MOUNT_POINT" sudo mount "$DEV" "$NEW_DISK_MOUNT_POINT"
Crie o script
rc.local
.cat <<'EOF' >/tmp/rc.local #!/bin/bash echo "== Installing Google guest environment for Debian ==" export DEBIAN_FRONTEND=noninteractive sleep 30 # Wait for network. echo "Determining Debian version..." eval $(grep VERSION_CODENAME /etc/os-release) if [[ -z $VERSION_CODENAME ]]; then echo "ERROR: Could not determine Debian version." exit 1 fi echo "Adding GPG key for Google cloud repo." curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - echo "Updating repo file..." tee "/etc/apt/sources.list.d/google-cloud.list" << EOM deb http://packages.cloud.google.com/apt google-compute-engine-${VERSION_CODENAME}-stable main deb http://packages.cloud.google.com/apt google-cloud-packages-archive-keyring-${VERSION_CODENAME} main EOM echo "Running apt update..." apt update echo "Installing packages..." for pkg in google-cloud-packages-archive-keyring google-compute-engine; do echo "Running apt install ${pkg}..." apt install -y ${pkg} if [[ $? -ne 0 ]]; then echo "ERROR: Failed to install ${pkg}." fi done echo "Removing this rc.local script." rm /etc/rc.local # Move back any previous rc.local: if [[ -f "/etc/moved-rc.local" ]]; then echo "Restoring a previous rc.local script." mv "/etc/moved-rc.local" "/etc/rc.local" fi echo "Restarting the instance..." reboot EOF
Mova o script
rc.local
para o volume raiz do novo disco e defina as permissões. Separe qualquer scriptrc.local
existente. O script temporário o substituirá quando for concluído.if [[ -f "$NEW_DISK_MOUNT_POINT/etc/rc.local" ]]; then sudo mv "$NEW_DISK_MOUNT_POINT/etc/rc.local" \ "$NEW_DISK_MOUNT_POINT/etc/moved-rc.local" fi sudo mv /tmp/rc.local "$NEW_DISK_MOUNT_POINT/etc/rc.local" sudo chmod 0755 "$NEW_DISK_MOUNT_POINT/etc/rc.local" sudo chown root:root "$NEW_DISK_MOUNT_POINT/etc/rc.local"
Desative o volume raiz do novo disco.
sudo umount "$NEW_DISK_MOUNT_POINT" && sudo rmdir "$NEW_DISK_MOUNT_POINT"
Saia da sessão SSH para a instância de resgate.
Separe o novo disco da instância de resgate.
gcloud compute instances detach-disk rescue --disk "$NEW_DISK"
Crie uma nova instância para servir como substituta. Ao criar a instância de substituição, especifique o novo disco como o de inicialização. É possível criar a instância de substituição usando o Console do Google Cloud:
No console do Google Cloud, acesse a página Instâncias de VMs.
Clique na instância problemática e, em seguida, selecione Criar semelhante.
Especifique um nome para a instância de substituição. Na seção Disco de inicialização, clique em Alterar e, em seguida, em Discos existentes. Selecione o novo disco.
Clique em Criar. A instância de substituição é iniciada automaticamente depois de criada.
Quando a instância de substituição é inicializada, o script temporário
rc.local
é executado e instala o ambiente de convidado. Para ver o andamento desse script, inspecione nos registros do console as linhas emitidas pelo script temporáriorc.local
. Para ver os registros, execute o seguinte comando:gcloud compute instances get-serial-port-output REPLACEMENT_VM_NAME
Substitua REPLACEMENT_VM_NAME pelo nome atribuído à instância substituta.
A instância de substituição também é reinicializada automaticamente quando o script temporário
rc.local
é concluído. Durante a segunda reinicialização, é possível inspecionar o registro do console para garantir que o ambiente de convidado seja carregado.Verifique se é possível se conectar à instância usando SSH.
Depois que você estiver satisfeito com o funcionamento da instância de substituição, será possível interromper ou excluir a instância problemática.
Garanta que a versão do seu sistema operacional seja compatível.
Crie uma nova instância para servir como a de resgate. Dê o nome de rescue a ela. Ela não precisa executar o mesmo SO Linux da instância problemática. Neste exemplo, é usado o Debian 9 na instância de resgate.
Interrompa a instância problemática e crie uma cópia do disco de inicialização correspondente.
Defina um nome de variável para a instância problemática. Assim, fica mais fácil consultá-la nas etapas posteriores.
export PROB_INSTANCE_NAME=VM_NAME
Substitua VM_NAME pelo nome da instância problemática.
Interrompa a instância problemática.
gcloud compute instances stop "$PROB_INSTANCE_NAME"
Consiga o nome do disco de inicialização da instância com problema.
export PROB_INSTANCE_DISK="$(gcloud compute instances describe \ "$PROB_INSTANCE_NAME" --format='json' | jq -r \ '.disks[] | select(.boot == true) | .source')"
Crie um snapshot do disco de inicialização.
export DISK_SNAPSHOT="${PROB_INSTANCE_NAME}-snapshot" gcloud compute disks snapshot "$PROB_INSTANCE_DISK" \ --snapshot-names "$DISK_SNAPSHOT"
Crie um novo disco a partir do snapshot.
export NEW_DISK="${PROB_INSTANCE_NAME}-new-disk" gcloud compute disks create "$NEW_DISK" \ --source-snapshot="$DISK_SNAPSHOT"
Exclua o snapshot:
gcloud compute snapshots delete "$DISK_SNAPSHOT"
Anexe o novo disco à instância de resgate e ative o volume raiz dela. Como esse procedimento apenas anexa um disco extra, o identificador de dispositivo do novo disco será /dev/sdb. Por padrão, o Ubuntu marca o volume raiz como 1. Desse modo, o identificador do volume será /dev/sdb1. Em casos específicos, use
lsblk
para determinar o identificador do volume.gcloud compute instances attach-disk rescue --disk "$NEW_DISK"
Conecte-se à instância de resgate usando SSH:
gcloud compute ssh rescue
Siga as próximas etapas na instância de resgate.
Ative o volume raiz do novo disco.
export NEW_DISK_MOUNT_POINT="/tmp/sdb-root-vol" DEV="/dev/sdb1" sudo mkdir "$NEW_DISK_MOUNT_POINT" sudo mount "$DEV" "$NEW_DISK_MOUNT_POINT"
Crie o script
rc.local
.cat <<'EOF' >/tmp/rc.local #!/bin/bash echo "== Installing a Linux guest environment for Ubuntu ==" sleep 30 # Wait for network. echo "Running apt update..." apt update echo "Installing packages..." echo "Running apt install google-compute-engine..." apt install -y google-compute-engine if [[ $? -ne 0 ]]; then echo "ERROR: Failed to install ${pkg}." fi echo "Removing this rc.local script." rm /etc/rc.local # Move back any previous rc.local: if [[ -f "/etc/moved-rc.local" ]]; then echo "Restoring a previous rc.local script." mv "/etc/moved-rc.local" "/etc/rc.local" fi echo "Restarting the instance..." reboot EOF
Mova o script
rc.local
para o volume raiz do novo disco e defina as permissões. Separe qualquer scriptrc.local
existente. O script temporário o substituirá quando for concluído.if [[ -f "$NEW_DISK_MOUNT_POINT/etc/rc.local" ]]; then sudo mv "$NEW_DISK_MOUNT_POINT/etc/rc.local" \ "$NEW_DISK_MOUNT_POINT/etc/moved-rc.local" fi sudo mv /tmp/rc.local "$NEW_DISK_MOUNT_POINT/etc/rc.local" sudo chmod 0755 "$NEW_DISK_MOUNT_POINT/etc/rc.local" sudo chown root:root "$NEW_DISK_MOUNT_POINT/etc/rc.local"
Desative o volume raiz do novo disco.
sudo umount "$NEW_DISK_MOUNT_POINT" && sudo rmdir "$NEW_DISK_MOUNT_POINT"
Saia da sessão SSH para a instância de resgate.
Separe o novo disco da instância de resgate.
gcloud compute instances detach-disk rescue --disk "$NEW_DISK"
Crie uma nova instância para servir como substituta. Ao criar a instância de substituição, especifique o novo disco como o de inicialização. É possível criar a instância de substituição usando o Console do Google Cloud:
No console do Google Cloud, acesse a página Instâncias de VMs.
Clique na instância problemática e, em seguida, selecione Criar semelhante.
Especifique um nome para a instância de substituição. Na seção Disco de inicialização, clique em Alterar e, em seguida, em Discos existentes. Selecione o novo disco.
Clique em Criar. A instância de substituição é iniciada automaticamente depois de criada.
Quando a instância de substituição é inicializada, o script temporário
rc.local
é executado e instala o ambiente de convidado. Para ver o andamento desse script, inspecione nos registros do console as linhas emitidas pelo script temporáriorc.local
. Para ver os registros, execute o seguinte comando:gcloud compute instances get-serial-port-output REPLACEMENT_VM_NAME
Substitua REPLACEMENT_VM_NAME pelo nome atribuído à instância substituta.
A instância de substituição também é reinicializada automaticamente quando o script temporário
rc.local
é concluído. Durante a segunda reinicialização, é possível inspecionar o registro do console para garantir que o ambiente de convidado seja carregado.Verifique se é possível se conectar à instância usando SSH.
Depois que você estiver satisfeito com o funcionamento da instância de substituição, será possível interromper ou excluir a instância problemática.
No console do Google Cloud, acesse a página Instâncias de VMs.
- Clique na instância que você precisa examinar.
- Reinicie ou redefina a instância.
- Em Registros, clique em Porta serial 1 (console).
- Procure o resultado esperado mencionado na tabela acima.
- Reinicie ou redefina a instância.
Use o subcomando
gcloud compute instances get-serial-port-output
para se conectar usando a CLI do Google Cloud. Exemplo:gcloud compute instances get-serial-port-output VM_NAME
Substitua VM_NAME pelo nome da instância que você precisa examinar.
Procure o resultado esperado mencionado na tabela acima.
- Leia as dicas de solução de problemas.
- Saiba mais sobre a aplicação de metadados.
- Saiba mais sobre chaves SSH.
Métodos de instalação
Há várias maneiras de instalar o ambiente de convidado. Escolha uma das seguintes opções:
Sistemas operacionais compatíveis
É possível instalar manualmente o ambiente convidado em VMs que usam versões de imagem do SO no ciclo de vida de disponibilidade geral (GA) ou no estágio de ciclo de vida de suporte estendido. Para conferir uma lista de versões de imagem do SO e o estágio do ciclo de vida delas no Compute Engine, consulte Detalhes do sistema operacional.
Limitações
Não é possível instalar ou usar manualmente a ferramenta de importação para instalar ambientes convidados para Fedora CoreOS e sistemas operacionais otimizados para contêineres. Se você precisar de um desses sistemas operacionais, recomendamos o uso de imagens públicas, pois um ambiente de convidado é incluído como parte principal de todas as imagens públicas.
Como instalar o ambiente convidado
Instalar o ambiente de convidado no local
Use este método para instalar o ambiente de convidado se for possível se conectar à instância de destino usando SSH. Caso contrário, instale o ambiente de convidado clonando o disco de inicialização dele e usando um script de inicialização.
Esse procedimento será útil para imagens importadas se você puder se conectar usando a autenticação SSH baseada em senha. Ele também poderá ser usado para reinstalar o ambiente de convidado se você tiver pelo menos uma conta de usuário com SSH funcional baseado em chave.
CentOS/RHEL/Rocky
Debian
Ubuntu
SLES
Windows
Antes de começar, tenha certeza que a versão do seu sistema operacional é compatível.
Para instalar o ambiente de convidado do Windows, execute os comandos a seguir em um prompt elevado do PowerShell, versão 3.0 ou superior. O comando
Invoke-WebRequest
nas instruções abaixo requer uma versão do PowerShell posterior à 3.0.Clonar o disco de inicialização e usar o script de inicialização
Se não for possível se conectar a uma instância para instalar manualmente o ambiente de convidado, instale o ambiente de convidado usando este procedimento, que inclui as seguintes etapas que podem ser concluídas no console do Google Cloud ou no Cloud Shell.
Este método mostra o procedimento apenas para distribuições Linux. Para o Windows, use um dos outros dois métodos de instalação.
Use o Cloud Shell para executar este procedimento. Se você não estiver usando o Cloud Shell, instale o processador JSON da linha de comando
jq
. Use esse processador para filtrar a saída da CLI gcloud. O Cloud Shell tem ojq
pré-instalado.CentOS/RHEL/Rocky
Debian
Ubuntu
Como atualizar o ambiente de convidado
Se você estiver recebendo uma mensagem informando que o ambiente de convidado está desatualizado, atualize os pacotes do sistema operacional.
CentOS/RHEL/Rocky
Para atualizar os sistemas operacionais CentOS, RHEL e Rocky Linux, execute os seguintes comandos:
sudo yum makecache sudo yum install google-compute-engine google-compute-engine-oslogin \ google-guest-agent google-osconfig-agent
Debian
Para atualizar os sistemas operacionais Debian, execute os seguintes comandos:
sudo apt update sudo apt install google-compute-engine google-compute-engine-oslogin \ google-guest-agent google-osconfig-agent
Ubuntu
Para atualizar os sistemas operacionais Ubuntu, execute os seguintes comandos:
sudo apt update sudo apt install google-compute-engine google-compute-engine-oslogin \ google-guest-agent google-osconfig-agent
SLES
Para atualizar os sistemas operacionais SLES, execute os seguintes comandos:
sudo zypper refresh sudo zypper install google-guest-{agent,configs,oslogin} \ google-osconfig-agent
Windows
Para atualizar sistemas operacionais Windows, execute o seguinte comando:
googet update
Como validar o ambiente de convidado
A presença de um ambiente de convidado pode ser determinada pela inspeção de registros do sistema emitidos no console enquanto uma instância é iniciada ou pela listagem dos pacotes instalados durante a conexão com a instância.
Registros esperados do console para o ambiente de convidado
Nesta tabela, você vê o resumo do resultado esperado dos registros do console emitidos por instâncias com ambientes de convidado ativos durante a inicialização.
Sistema operacional Gerenciamento de serviços Resposta esperada CentOS/RHEL/Rocky Linux
Debian
Ubuntu
SLES
Container-Optimized OS 89 e mais recentesystemd google_guest_agent: GCE Agent Started (version YYYYMMDD.NN) google_metadata_script_runner: Starting startup scripts (version YYYYMMDD.NN) OSConfigAgent Info: OSConfig Agent (version YYYYMMDD.NN)
Container-Optimized OS 85 e anteriores systemd Started Google Compute Engine Accounts Daemon Started Google Compute Engine Network Daemon Started Google Compute Engine Clock Skew Daemon Started Google Compute Engine Instance Setup Started Google Compute Engine Startup Scripts Started Google Compute Engine Shutdown Scripts
Windows GCEGuestAgent: GCE Agent Started (version YYYYMMDD.NN) GCEMetadataScripts: Starting startup scripts (version YYYYMMDD.NN) OSConfigAgent Info: OSConfig Agent (version YYYYMMDD.NN)
Para ver os registros do console de uma instância, siga estas etapas.
Console
gcloud
Serviços carregados para o ambiente de convidado
Nesta tabela, você vê o resumo dos serviços que precisam ser carregados nas instâncias com ambientes de convidado ativos. O comando para listar serviços precisa ser executado após a conexão com a instância. Portanto, esta verificação poderá ser realizada somente se você tiver acesso a ela.
Sistema operacional Comando para listar serviços Resposta esperada CentOS/RHEL/Rocky Linux
Debiansudo systemctl list-unit-files \ | grep google | grep enabled
google-disk-expand.service enabled google-guest-agent.service enabled google-osconfig-agent.service enabled google-shutdown-scripts.service enabled google-startup-scripts.service enabled google-oslogin-cache.timer enabled
Ubuntu sudo systemctl list-unit-files \ | grep google | grep enabled
google-guest-agent.service enabled google-osconfig-agent.service enabled google-shutdown-scripts.service enabled google-startup-scripts.service enabled google-oslogin-cache.timer enabled
Container-Optimized OS sudo systemctl list-unit-files \ | grep google
var-lib-google.mount disabled google-guest-agent.service disabled google-osconfig-agent.service disabled google-osconfig-init.service disabled google-oslogin-cache.service static google-shutdown-scripts.service disabled google-startup-scripts.service disabled var-lib-google-remount.service static google-oslogin-cache.timer disabled
SLES 12 ou versões mais recentes sudo systemctl list-unit-files \ | grep google | grep enabled
google-guest-agent.service enabled google-osconfig-agent.service enabled google-shutdown-scripts.service enabled google-startup-scripts.service enabled google-oslogin-cache.timer enabled
Windows Get-Service GCEAgent Get-ScheduledTask GCEStartup
Running GCEAgent GCEAgent \ GCEStartup Ready
Pacotes instalados para o ambiente de convidado
Nesta tabela, você vê o resumo dos pacotes que precisam ser instalados nas instâncias com ambientes de convidado ativos. O comando para listar pacotes instalados precisa ser executado após a conexão com a instância. Portanto, esta verificação poderá ser realizada somente se você tiver acesso a ela.
Sistema operacional Comando para listar pacotes Resposta esperada CentOS/RHEL/Rocky Linux rpm -qa --queryformat '%{NAME}\n' \ | grep -iE 'google|gce'
google-osconfig-agent google-compute-engine-oslogin google-guest-agent gce-disk-expand google-cloud-sdk google-compute-engine
Debian apt list --installed \ | grep -i google
gce-disk-expand google-cloud-packages-archive-keyring google-cloud-sdk google-compute-engine-oslogin google-compute-engine google-guest-agent google-osconfig-agent
Ubuntu apt list --installed \ | grep -i google
google-compute-engine-oslogin google-compute-engine google-guest-agent google-osconfig-agent
SUSE (SLES) rpm -qa --queryformat '%{NAME}\n' \ | grep -i google
google-guest-configs google-osconfig-agent google-guest-oslogin google-guest-agent
Windows googet installed
certgen googet google-compute-engine-auto-updater google-compute-engine-driver-gga google-compute-engine-driver-netkvm google-compute-engine-driver-pvpanic google-compute-engine-driver-vioscsi google-compute-engine-metadata-scripts google-compute-engine-powershell google-compute-engine-sysprep google-compute-engine-vss google-compute-engine-windows google-osconfig-agent
A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-12-22 UTC.
-