Faça a gestão do ciclo de vida da instância de VM

Uma instância de VM pode passar por muitos estados ao longo do respetivo ciclo de vida. Quando cria uma VM, o dispositivo isolado do Google Distributed Cloud (GDC) aprovisiona recursos para iniciar a VM. Em seguida, a VM passa para o estado de início, onde se prepara para o primeiro arranque. Durante e após o arranque, considera-se que uma VM está em execução. Durante a sua duração, uma VM em execução pode ser repetidamente parada e reiniciada, ou suspensa e retomada.

Definições do estado da VM

Estado Definição
Pending A VM é aceite pelo sistema e está a aguardar a atribuição.
Provisioning Os recursos associados à VM, como VirtualMachineDisk, estão a ser aprovisionados e preparados.
Starting A VM está a ser preparada para execução.
Running A VM está em execução.
Stopping A VM está em processo de paragem.
Stopped A VM está parada e não se espera que seja iniciada.
Paused A VM está pausada e num estado congelado, que é preservado. Não é possível aceder à VM.
Terminating A VM e os respetivos recursos associados estão a ser eliminados.
ErrorConfiguration A VM tem um erro de configuração. Os estados de configuração inválida podem ser causados pelo seguinte:
MachineTypeNotFound: o tipo de VM a que a VM se refere não foi encontrado ou está a ser eliminado.
MachineDiskMisconfig – O disco da VM está configurado incorretamente.
InterfaceCreationFailed – Não foi possível criar a interface de rede.
CrashLoopBackOff A VM está atualmente num loop de falhas e está a aguardar uma nova tentativa.
PendingIPAllocation A VM está a aguardar que o sistema lhe atribua um endereço IP.
Unknown Não foi possível obter o estado da VM, normalmente devido a um erro na comunicação com o anfitrião no qual está a ser executada.
ErrorUnschedulable Ocorreu um erro ao agendar a VM, por exemplo, devido a pedidos de recursos ou restrições de agendamento que não podem ser satisfeitas ou suportadas.
DiskError A VM tem um erro com um ou mais dos discos anexados.
WaitingForDisk A VM está a aguardar que um ou mais dos discos VirtualMachineDisk anexados estejam prontos.
CrashLoopBackoff A VM tem falhado constantemente por algum motivo.

Antes de começar

Para usar os comandos da gdcloud interface de linhas de comando (CLI), certifique-se de que transferiu, instalou e configurou a CLI gdcloud. Todos os comandos para o dispositivo isolado do GDC usam a CLI gdcloud ou kubectl e requerem um ambiente de sistema operativo (SO).

Obtenha o caminho do ficheiro kubeconfig

Para executar comandos no servidor da API Management, certifique-se de que tem os seguintes recursos:

  1. Localize o nome do servidor da API Management ou pergunte ao administrador da plataforma (PA) qual é o nome do servidor.

  2. Inicie sessão e gere o ficheiro kubeconfig para o servidor da API Management, se não tiver um.

  3. Use o caminho para substituir MANAGEMENT_API_SERVER{"</var>"}} nestas instruções.

Peça autorizações e acesso

Para realizar as tarefas indicadas nesta página, tem de ter a função de administrador da máquina virtual do projeto. Siga os passos para validar ou pedir ao administrador de IAM do projeto que lhe atribua a função de administrador de máquinas virtuais do projeto (project-vm-admin) no espaço de nomes do projeto onde a VM reside.

Para operações de VM que usam a consola do GDC ou a CLI gdcloud, peça ao administrador de IAM do projeto para lhe atribuir a função de administrador de máquinas virtuais do projeto e a função de visualizador do projeto (project-viewer).

Verifique o estado da VM

Cada MV comunica o respetivo estado como parte das propriedades da MV. Verifique o estado de uma VM por qualquer um dos seguintes motivos:

  • Se existirem problemas com a VM.
  • Para confirmar que a VM está em execução depois de ter sido iniciada.
  • Para verificar se a VM está no estado Paused ou Stopped.

Liste as VMs para verificar o estado

O procedimento seguinte mostra como listar VMs, ver o respetivo estado e obter informações de estado adicionais.

  1. Liste todas as VMs e veja o estado de cada uma:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachines.virtualmachine.gdc.goog -n PROJECT
    

    Substitua as variáveis nos exemplos de código pelos seus próprios valores de acordo com a tabela seguinte.

    VariávelDefinição
    MANAGEMENT_API_SERVER O ficheiro kubeconfig do servidor da API Management.
    PROJECT O projeto do GDC no qual a VM reside.

    Exemplo de saída:

    NAME          STATUS                    AGE
    vm-1          Running                    1d
    vm-2          Stopped                    8d
    vm-3          ErrorConfiguration         1d
    
  2. Obtenha detalhes adicionais sobre o estado de uma VM específica:

    kubectl  --kubeconfig MANAGEMENT_API_SERVER \
        get virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT -o \
        jsonpath='{"State:"}{.status.state}{"\n"}{"Reason:"}{.status.reason}{"\n"}{"Message:"}{.status.message}{"\n"}'
    

    Substitua o seguinte:

    • MANAGEMENT_API_SERVER com o ficheiro kubeconfig para o servidor da API Management que obteve através do comando gdcloud auth login.
    • VM_NAME com o nome da nova VM.
    • PROJECT com o projeto do GDC no qual a VM reside.

    Exemplo de resultado que mostra os valores Reason e Message:

    State: ErrorConfiguration
    Reason: MachineDiskNotFound
    Message: VirtualMachineDisk disk-1 in namespace project-1 does not exist.
    

    Também pode encontrar campos vazios para Reason e Message. Isto indica que não havia nada para o sistema comunicar sobre a pessoa.

    Exemplo de resultado com Reason e Message vazios:

    State: Running
    Reason:
    Message:
    

Parar ou reiniciar uma VM

Durante o ciclo de vida da VM, pode ter de parar e reiniciar uma VM ou eliminar uma VM para responder a uma alteração de estado ou gerir geralmente a VM. Consulte estas páginas para parar, repor ou eliminar uma VM: