Minimize o tempo de início da VM

Se precisar que as suas VMs sejam iniciadas o mais rapidamente possível, minimize o tempo de início da máquina virtual (VM) com as instruções nesta página. A minimização do tempo de início tem um custo em termos de eficiência dos recursos. O seu projeto consome recursos adicionais e tem uma superfície de segurança aumentada.

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.

Mantenha as ligações de disco ativas

Quando uma VM é iniciada, o início de uma ligação do nó da VM ao disco da VM demora alguns segundos. Para iniciar a VM mais rapidamente, a ligação ao disco tem de ser mantida ativa quando a VM é encerrada, para que a ligação ao disco não seja reiniciada nos inícios subsequentes da VM. Para o fazer, quando executa o comando para ativar a manutenção da ligação do disco, o sistema cria automaticamente um pod fictício que monta todos os discos da VM.

Ativar a manutenção da ligação ao disco

Para manter as ligações de disco ativas para uma VM denominada VM_NAME no projeto PROJECT, execute o seguinte comando. Quando o faz, o sistema cria automaticamente o bloco fictício:

kubectl --kubeconfig MANAGEMENT_API_SERVER patch virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT --type merge --patch $'
metadata:
  annotations:
    disk.virtualmachine.gdc.goog/enable-connection-keep-alive: "true"
'

Substitua as variáveis ao longo destas instruções, usando as seguintes definições.

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

Quando a funcionalidade keep-alive da ligação do disco está ativada, é criado um pod com o nome disk-connection-keep-alive-VM_NAME no mesmo projeto que a VM. O próximo reinício da VM é mais rápido, tal como os tempos de início subsequentes, porque as ligações de disco da VM são mantidas ativas pelo pod.

Configure a afinidade de manutenção ativa da ligação de disco

O programador do Kubernetes pode selecionar um nó diferente para a VM quando esta é reiniciada. Para reduzir as hipóteses de isso acontecer, configure uma regra de afinidade entre VMs entre a VM e o pod keep-alive. Configure esta opção para que ocorra automaticamente:

kubectl --kubeconfig MANAGEMENT_API_SERVER patch virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT --type merge --patch $'
metadata:
  annotations:
    disk.virtualmachine.gdc.goog/add-connection-keep-alive-affinity: "true"
'

Isto adiciona uma definição de afinidade preferencial na VM ao pod de manutenção.

Advertências

Existem duas ressalvas para manter as ligações de disco ativas:

  • O pod de manutenção ativa incorre numa utilização de recursos adicional:
    • Conta para o limite do número de pods por nó.
    • Usa um endereço IP adicional atribuído pelo Kubernetes.
    • Usa uma quantidade adicional insignificante de CPU e memória.
  • A superfície de segurança aumenta, porque o nó onde o pod keep-alive está presente tem sempre os discos da VM anexados, mesmo quando a VM está desligada.

Use o firmware do BIOS

No GDC, iniciar uma VM com firmware de Interface de Firmware Extensível Unificada (UEFI) é mais lento do que iniciar uma VM com firmware de BIOS.

  1. Para garantir que o tempo de início é mínimo, defina o tipo de firmware da VM como BIOS:

    kubectl --kubeconfig MANAGEMENT_API_SERVER patch virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT --type merge --patch $'
    spec:
      firmware:
        type: bios
        enableSecureBoot:
    '
    
  2. Se a VM estiver em execução, reinicie-a seguindo as instruções para reiniciar a VM.

Advertências

A ressalva da utilização do firmware da BIOS é que não suporta o arranque seguro.

Use um disco de arranque grande

Para minimizar o tempo de arranque da VM, anexe um disco de arranque com um tamanho de 500 GB ou superior à VM.