Como instalar o Migrate to Containers

Neste tópico, descrevemos como instalar o Migrate to Containers em um cluster de processamento.

Um cluster de processamento é um cluster do Google Kubernetes Engine (GKE) ou Anthos com os componentes do Migrate to Containers instalados e quais usados para migrar as VMs antes de implantá-las no cluster de produção.

Ao seguir as etapas neste tópico, você usa a ferramenta de linha de comando migctl ou o Console do Google Cloud para instalar os componentes necessários do Migrate to Containers em um cluster do GKE já criado.

Depois de implantar as VMs migradas como imagens em um cluster de produção (presumindo que o cluster de processamento não seja mais necessário para realizar novas migrações), exclua o cluster de processamento.

Sobre o migctl

Além do suporte no Console do Google Cloud, o Migrate to Containers inclui a ferramenta de linha de comando migctl, que pode ser usada para executar todas as partes de uma migração:

Antes de começar

Como instalar o Migrate to Containers

migctl no Google Cloud

Use comandos migctl para instalar o Migrate to Containers e configurá-lo com os princípios básicos necessários para migrar.

  1. Verifique se você criou uma conta de serviço para acessar o Container Registry e o Cloud Storage e faça o download do arquivo de chave JSON, conforme descrito em Como configurar uma conta de serviço.

  2. Acesse o menu do GKE no console.

    Acesse o menu do GKE

  3. Na lista de clusters, localize o cluster que você usará como um cluster de processamento e clique no botão Conectar.

  4. Na caixa de diálogo Conectar ao cluster, em Acesso de linha de comando, clique em Executar no Cloud Shell para executar o comando de conexão no Cloud Shell.

    gcloud container clusters get-credentials my-cluster --zone us-central1-c --project my-project
    
  5. Configure os componentes do Migrate to Containers no cluster de processamento executando o comando migctl setup install no Cloud Shell e especificando a conta de serviço de instalação:

    migctl setup install --json-key=m4a-install.json
    
  6. Valide a instalação do Migrate to Containers executando o comando migctl doctor.

    Antes de concluir a instalação, poderá ser exibida uma mensagem como a seguinte. Neste caso, aguarde alguns minutos para que a instalação seja concluída antes de executar migctl doctor.

    migctl doctor
    [!] Deployment
        Validation checks failed.
    

    Na saída de exemplo a seguir, a marca de seleção indica que o Migrate to Containers foi implantado e que os repositórios de dados necessários foram configurados.

    migctl doctor
    [✓] Deployment
    [✓] Docker registry
    [✓] Artifacts repo
    [!] Source Status
    

    Consulte Como definir repositórios de dados se houver um erro associado ao registro do Docker ou ao repositório de artefatos.

migctl no VMware

  1. Defina o ID do projeto padrão:
    gcloud config set project project-id
  2. Implante o migctl na estação de trabalho de administrador:
    wget https://modernize-release.storage.googleapis.com/v1.12.1/linux/amd64/migctl
    sudo cp migctl /usr/local/bin/
    sudo chmod +x /usr/local/bin/migctl
    . <(migctl completion bash)
  3. Configure os componentes do Migrate to Containers no cluster de processamento executando o comando migctl setup install:
    migctl setup install --gkeop
  4. Valide a instalação do Migrate to Containers executando o comando migctl Medical. Antes de concluir a instalação, poderá ser exibida uma mensagem como a seguinte. Neste caso, aguarde alguns minutos para que a instalação seja concluída antes de executar migctl doctor.
    migctl doctor
      [!] Deployment
          Validation checks failed.
    Na saída de exemplo a seguir, a marca de seleção indica que o Migrate to Containers foi implantado com êxito, mas você ainda não configurou os repositórios de dados necessários:
    migctl doctor
      [✓] Deployment
      [!] Docker registry
      [!] Artifacts repo
      [!] Source Status
  5. Configure os repositórios de dados exigidos pelo cluster, conforme descrito em Como definir repositórios de dados.
  6. Se necessário, configure um proxy HTTPS para acesso de saída à Internet, conforme descrito em Como configurar um proxy HTTPS.

migctl no Anthos em Bare Metal

  1. Defina o ID do projeto padrão:
    gcloud config set project project-id
  2. Implante o migctl na estação de trabalho de administrador:
    wget https://modernize-release.storage.googleapis.com/v1.12.1/linux/amd64/migctl
    sudo cp migctl /usr/local/bin/
    sudo chmod +x /usr/local/bin/migctl
    . <(migctl completion bash)
  3. Configure os componentes do Migrate to Containers no cluster de processamento executando o comando migctl setup install:
    migctl setup install --anthos-bm --gcp-project myproject --gcp-region us-central1 --json-key m4a-install.json
    Quando receber todos os argumentos, incluindo --gcp-project, --gcp-region e --json-key, migctl criará um registro do Docker padrão e repositórios de artefatos no Container Registry e no Cloud Storage, respectivamente. Isso significa que as imagens e os artefatos de migração serão enviados por upload para o Google Cloud. É possível configurar outros registros do Docker e defini-los como padrão para migração ou defini-los para serem usados em uma migração específica.
  4. Valide a instalação do Migrate to Containers executando o comando migctl Medical. Antes de concluir a instalação, poderá ser exibida uma mensagem como a seguinte. Neste caso, aguarde alguns minutos para que a instalação seja concluída antes de executar migctl doctor.
    migctl doctor
      [!] Deployment
          Validation checks failed.
    Na saída de exemplo a seguir, a marca de seleção indica que o Migrate to Containers foi implantado com êxito, mas você ainda não configurou os repositórios de dados necessários:
    migctl doctor
      [✓] Deployment
      [!] Docker registry
      [!] Artifacts repo
      [!] Source Status
  5. Configure os repositórios de dados exigidos pelo cluster, conforme descrito em Como definir repositórios de dados.
  6. Se necessário, configure um proxy HTTPS para acesso de saída à Internet, conforme descrito em Como configurar um proxy HTTPS.

migctl no AWS

Para este procedimento, é necessário executar migctl no cluster. Dependendo da conectividade da sua estação de trabalho com o cluster, talvez seja necessário abrir um túnel para o host bastion. Consulte Como se conectar ao serviço de gerenciamento para saber mais.

  1. Defina o ID do projeto padrão:
    gcloud config set project project-id
  2. Implante o migctl na estação de trabalho de administrador:
    wget https://modernize-release.storage.googleapis.com/v1.12.1/linux/amd64/migctl
    sudo cp migctl /usr/local/bin/
    sudo chmod +x /usr/local/bin/migctl
    . <(migctl completion bash)
  3. Configure os componentes do Migrate to Containers no cluster de processamento executando o comando migctl setup install:
    migctl setup install --gke-on-aws
  4. Valide a instalação do Migrate to Containers executando o comando migctl Medical. Antes de concluir a instalação, poderá ser exibida uma mensagem como a seguinte. Neste caso, aguarde alguns minutos para que a instalação seja concluída antes de executar migctl doctor.
    migctl doctor
      [!] Deployment
          Validation checks failed.
    Na saída de exemplo a seguir, a marca de seleção indica que o Migrate to Containers foi implantado com êxito, mas você ainda não configurou os repositórios de dados necessários:
    migctl doctor
      [✓] Deployment
      [!] Docker registry
      [!] Artifacts repo
      [!] Source Status
  5. Configure os repositórios de dados exigidos pelo cluster, conforme descrito em Como definir repositórios de dados.
  6. Se necessário, configure um proxy HTTPS para acesso de saída à Internet, conforme descrito em Como configurar um proxy HTTPS.

Console

  1. Abra a página "Migrate to Containers" no Console.

    Acessar a página "Migrate to Containers"

  2. Clique na guia Processamento de clusters para exibir uma tabela com os clusters disponíveis.

  3. Clique em Adicionar cluster de processamento.

  4. Selecione o tipo de carga de trabalho a ser migrada como Linux ou Windows e selecione Avançar.

  5. Selecione o cluster na lista suspensa e clique em Avançar.

  6. Selecione o bucket para o repositório de artefatos.

    Por padrão, o Migrate to Containers usa o Cloud Storage com o nome do bucket especificado. É possível definir o nome do bucket aqui. Revise os requisitos descritos em Como definir repositórios de dados.

  7. Selecione o nome do projeto Repositório de imagem.

    Por padrão, o Migrate to Containers usa o projeto atual para o Container Registry. Se quiser, você pode alterar o nome do projeto aqui. Revise os requisitos descritos em Como definir repositórios de dados.

  8. Clique em Continuar.

  9. Especifique a conta de serviço do repositório de artefatos usada para acessar o Cloud Storage. É possível criar uma nova conta de serviço ou selecionar uma atual. Consulte Como configurar contas de serviço para mais informações.

  10. Clique em Continuar para revisar as configurações e, em seguida, clique em Implantar para instalar o Migrate to Containers no cluster.

  11. Quando a instalação for concluída, você verá o nome do cluster na guia Clusters de processamento com status Pronto.

Opções de instalação

É possível criar clusters de vários tamanhos e configurações. Por exemplo, é possível ter um cluster com vários pools de nós. Em seguida, você usará um pool de nós para processar migrações, um pool de nós para executar cargas de trabalho e outro pool para outras operações.

Por padrão, o Migrate to Containers é instalado em todos os nós do cluster. Para controlar quais nós são usados pelo Migrate to Containers, é possível usar as opções --node-selectors e --tolerations para o comando migctl setup install:

  • --node-selectors LABEL1=VALUE1,LABEL2=VALUE2,...

    Especifica uma lista separada por vírgulas de pares de rótulo e valor que determinam os nós usados pelo Migrate to Containers. Consulte Como criar e gerenciar rótulos para mais informações sobre como usar rótulos.

  • --tolerations KEY1=VALUE1:EFFECT1,KEY2=VALUE2:EFFECT2,...

    Especifica pares de chave-valor da lista separadas por vírgula associados a um efeito que, juntos, especificam um taint de nó. Uma tolerância significa que os pods podem ser executados no taint do nó especificado pelo valor-chave e efeito.

    Se você omitir EFFECT e/ou VALUE, as tolerâncias correspondem aos taints com KEY,VALUE (para qualquer EFFECT) e/ou KEY (para qualquer VALUE:EFFECT).

    Consulte Como controlar a programação com taints de nó para mais informações sobre taints de nó.

Próximas etapas