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 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 Transferir arquivos usando a Google Cloud CLI.

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 conectar a uma instância.

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 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