Como fazer a transição do gcutil para o gcloud compute

Com gcloud compute na disponibilidade geral, o Compute Engine recomenda que todos os usuários migrem para a ferramenta gcloud compute de gcutil. gcloud compute é uma ferramenta de linha de comando unificada que apresenta uma série de melhorias em relação ao gcutil, incluindo:

  • Preenchimento com tabulação
  • upgrade no local
  • vasto volume de página de manual/informações
  • escolha de diferentes formatos de saída

Para ajudar os usuários na transição de gcutil para gcloud compute, este guia descreve brevemente as principais mudanças entre as duas ferramentas. Para obter uma descrição detalhada da ferramenta gcloud compute, consulte a documentação gcloud compute .

Novos comandos do gcloud

Todos os comandos gcutil atuais têm comandos equivalentes na ferramenta gcloud compute, com algumas exceções. Você pode obter uma lista completa dos gcloud acessando a seção páginas de referência ou executando gcloud compute --help. Na tabela abaixo, descrevemos brevemente as mudanças nos comandos gcutil.

Comando gcutil Comando do gcloud compute

gcutil addinstance INSTANCE

gcloud compute instances create INSTANCE
Observações

Cria uma instância.

  • A zona ou região pode ser definida com o valor padrão. Caso contrário, essas informações são solicitadas no "gcloud compute".
  • Cria máquinas virtuais com propriedades padrão, como estas:
  • machine-type: n1-standard-1
  • image: debian-10

Consulte Como criar e iniciar uma instância.

Comando gcutil Comando do gcloud compute

gcutil deleteinstance INSTANCE

gcloud compute instances delete INSTANCE \
       [--keep-disks {boot,all,none}]
Observações

Exclui instâncias. Consulte Como excluir uma instância.

Comando gcutil Comando do gcloud compute

gcutil ... --cache_flag_values

gcloud configs set project PROJECT
gcloud configs set compute/zone ZONE
gcloud configs set compute/region REGION
Observações

Define valores padrão para projeto, zona e região. Consulte Como configurar zona e região padrão.

Comando gcutil Comando do gcloud compute

gcutil push/pull

gcloud compute scp
Observações

Copia arquivos entre um computador local e uma máquina virtual. Consulte Como copiar arquivos entre uma instância e um computador local.

Comando gcutil Comando do gcloud compute

gcutil deleteRESOURCE

gcloud compute RESOURCES delete
Observações

Exclui recursos, por exemplo:


gcloud compute instances delete example-instance
Comando gcutil Comando do gcloud compute

gcutil getRESOURCES

gcloud compute RESOURCES describe
Observações

Descreve um único recurso, por exemplo:


gcloud compute instances describe example-instance

Comando gcutil Comando do gcloud compute

gcutil listRESOURCES

gcloud compute RESOURCES list
Observações

Lista todos os recursos desse tipo. Por exemplo, para listar instâncias:


gcloud compute instances list

Comando gcutil Comando do gcloud compute

gcutil setmetadata

gcloud compute instances add-metadata
gcloud compute instances remove-metadata
gcloud compute project-info add-metadata
gcloud compute project-info remove-metadata
Observações

O bloqueio otimista agora é feito pela ferramenta, portanto, não há necessidade de especificar uma impressão digital manualmente. Consulte Configurar metadados de instância personalizada.

Comando gcutil Comando do gcloud compute

gcutil … --dump_request_response

Ainda não disponível.

Comando gcutil Comando do gcloud compute

gcutil … --log_level=DEBUG

gcloud … --verbosity debug
Observações

Além disso, os registros são armazenados em arquivos para todos os comandos em ~/.config/gcloud/logs.

Comando gcutil Comando do gcloud compute

gcutil ssh INSTANCE --ssh_user

gcloud compute ssh USER@INSTANCE
Observações

Consulte Como se conectar a instâncias.

Comando gcutil Comando do gcloud compute

gcutil … \
--image=projects/project-id/global/images/image

gcloud compute … --image image-name \
       --image-project image-project
Observações

Consulte Como iniciar uma instância a partir de uma imagem.

Comando gcutil Comando do gcloud compute

gcutil deleteinstances --[no]delete_pd
gcutil deleteinstances --[no]delete_boot_pd

gcloud compute instances delete … \
       --delete-disks {all,none,boot}
gcloud compute instances delete … \
       --keep-disks {all,none,boot}
Observações

Se um disco for marcado para ser excluído automaticamente, ele será excluído automaticamente, a menos que seja especificado usando a sinalização --keep-disks.

Configurações de instância padrão

Criar uma instância em gcloud compute agora tem vários valores padrão fornecidos para a imagem e o tipo de máquina de sua máquina virtual. Para usar esses valores padrão, omita os sinalizadores --image e --machine-type ou substitua as configurações fornecendo as sinalizações apropriadas. As configurações padrão de máquina virtual são estas:

  • Imagem padrão: debian-10 mais recente
  • Tipo de máquina padrão: n1-standard-1

Por exemplo, basta executar:

gcloud compute instances create example-instance --zone us-central1-a

E o gcloud compute criará a instância usando a imagem e o tipo de máquina descritos acima.

Formatação de saída

A formatação de saída padrão mudou e varia de acordo com o comando executado. Por exemplo, se você executar o comando describe para obter informações sobre um único recurso, a saída da resposta estará no formato YAML. Você pode retornar a resposta em diferentes formatos de saída, como JSON ou texto, usando o sinalizador --format:

gcloud compute instances list --format {json,yaml,text}

A atualização de metadados agora é um recurso aditivo

Ao configurar ou atualizar metadados, não é mais necessário fornecer uma impressão digital. Por padrão, todas as alterações de metadados são consideradas aditivas. Adicione entradas de metadados individuais ou atualize-as sem fazer uma atualização em lote de todos os metadados. Somente chaves de metadados passadas são transformadas.

gcloud compute instances add-metadata example-instance \
         --metadata cookies=chocolate

Especificar projetos de imagem

Antes, para especificar uma imagem exata, era necessário fornecer um URI de imagem parcial, que incluía o nome do projeto, como:

gcutil addinstance example-instance \
         --image=projects/debian-cloud/global/images/debian-9

Em gcloud compute, você deve especificar o projeto de imagem usando um novo --image-project sinalização:

gcloud compute instances create example-instance \
         --image debian-9-stretch-vYYYMMDD
         --image-project debian-cloud

Também é possível fornecer o URI completo:

gcloud compute instances create example-instance \
         --image https://compute.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-9-stretch-vYYYMMDD