Pode parar, iniciar e reiniciar VMs para suportar o ciclo de vida das suas aplicações. Por exemplo, pode querer alterar o número de unidades de processamento centralizadas virtuais (vCPUs) atribuídas ou a quantidade de memória alocada a uma VM. Tem de parar a VM antes de editar a configuração. Depois de terminar, tem de reiniciar o estado de energia para aplicar as alterações. Esta página fornece instruções para parar, iniciar e reiniciar as suas VMs nesses processos.
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:
Localize o nome do servidor da API Management ou pergunte ao administrador da plataforma (PA) qual é o nome do servidor.
Inicie sessão e gere o ficheiro kubeconfig para o servidor da API Management, se não tiver um.
Use o caminho para substituir
MANAGEMENT_API_SERVER{"</var>"}}
nestas instruções.
Se quiser minimizar o tempo de arranque da VM, siga as instruções em Minimize o tempo de arranque da VM antes de iniciar a VM.
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
).xs
Pare uma VM
Quando para uma máquina virtual (VM), o hipervisor desatribui todos os recursos associados à instância. A VM está encerrada.
Pare uma VM que esteja em execução através da consola GDC ou do comando
kubectl
.
Consola
No menu de navegação, clique em Máquinas virtuais > Instâncias.
Na lista de VMs, selecione a caixa de verificação da VM em execução que quer parar.
Clique em Parar.
Na caixa de diálogo de confirmação, clique em Parar.
gdcloud
Para parar uma VM:
gdcloud compute instances stop VM_NAME --project PROJECT
- Substitua
VM_NAME
pelo nome da VM. - Substitua
PROJECT
pelo nome do projeto do GDC no qual a VM está localizada.
kubectl
Execute o seguinte comando:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ edit virtualmachines.virtualmachine.gdc.goog VM_NAME \ -n PROJECT
Procure o campo
runningState
nospec
da MV e altere o valor do campo paraStopped
. SerunningState
não estiver emspec
, adicionerunningState
aspec
e defina o valor comoStopped
.spec: runningState: Stopped
Valide o estado da VM:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachines.virtualmachine.gdc.goog VM_NAME \ -n PROJECT
Use estas definições para as variáveis anteriores.
Variável Definição MANAGEMENT_API_SERVER
O caminho kubeconfig
.VM_NAME
O nome da VM. PROJECT
O nome do projeto da VM.
Inicie uma VM
Inicie uma VM a partir de um estado parado através da consola ou da kubectl
.
Consola
No menu de navegação, clique em Máquinas virtuais > Instâncias.
Na lista de VMs, selecione a caixa de verificação da VM parada que quer iniciar.
Clique em Iniciar.
Na caixa de diálogo de confirmação, clique em Iniciar.
gdcloud
Para iniciar uma VM:
gdcloud compute instances start VM_NAME --project PROJECT
- Substitua
VM_NAME
pelo nome da VM. - Substitua
PROJECT
pelo nome do projeto do GDC no qual a VM está localizada.
kubectl
Execute o seguinte comando:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ edit virtualmachines.virtualmachine.gdc.goog VM_NAME \ -n PROJECT
Procure o campo
runningState
nospec
da MV e altere o valor do campo paraRunning
.spec: runningState: Running
Valide o estado da VM:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachines.virtualmachine.gdc.goog VM_NAME \ -n PROJECT
Use estas definições para as variáveis no exemplo de código.
Variável Definição MANAGEMENT_API_SERVER
O caminho kubeconfig
.NAMESPACE
O espaço de nomes da VM. VM_NAME
O nome da VM. PROJECT
O nome do projeto da VM.
Reinicie uma VM
Quando reinicia uma VM, a máquina é reposta para o estado inicial e o conteúdo da memória da máquina é limpo.
Reinicie uma VM em estado de execução através da consola ou do comando kubectl
.
Consola
No menu de navegação, clique em Máquinas virtuais > Instâncias.
Na lista de VMs, selecione a caixa de verificação da VM em execução que quer reiniciar.
Clique em Repor.
Na caixa de diálogo de confirmação, clique em Repor.
gdcloud
Para repor uma VM:
gdcloud compute instances reset VM_NAME --project PROJECT
- Substitua
VM_NAME
pelo nome da VM. - Substitua
PROJECT
pelo nome do projeto do GDC no qual a VM está localizada.
kubectl
Obtenha os dados da chave e do certificado do cliente, bem como o servidor da API Management. Use estes valores nos passos seguintes:
kubectl --kubeconfig MANAGEMENT_API_SERVER config view --raw -o \ jsonpath='{.users[?(@.name =="CLUSTER_NAME-admin")].user.client-certificate-data}' | \ base64 -d > cert kubectl --kubeconfig MANAGEMENT_API_SERVER config view --raw -o \ jsonpath='{.users[?(@.name == "CLUSTER_NAME-admin")].user.client-key-data}' | \ base64 -d > key export APISERVER=`kubectl --kubeconfig MANAGEMENT_API_SERVER \ config view --raw -o \ jsonpath='{.clusters[?(@.name == "CLUSTER_NAME")].cluster.server}'`
Faça um pedido de API para reiniciar a VM através do comando
wget
e especifique o certificado e a chave do passo anterior:wget --method=PUT -O- --no-check-certificate --certificate cert --private-key key --content-on-error=on $APISERVER/apis/virtualmachineoperations.gdc.goog/v1/namespaces/PROJECT/virtualmachines/VM_NAME/restart
Valide o estado da VM:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT
Use estas definições para as variáveis no código de exemplo.
Variável Definição MANAGEMENT_API_SERVER
O caminho kubeconfig
.VM_NAME
O nome da VM. PROJECT
O nome do projeto da VM.