Avaliação e migração

Neste documento, explicamos como avaliar a fundação atual do Cloud Foundry (CF) e como migrar uma fundação, uma organização, um Space ou um app do CF para o Kf.

Avaliação de adequação à migração

Use o comando kf migrate scan-cf-cluster para gerar um relatório com uma análise de prontidão para migrar uma fundação do CF. Você pode formatar o relatório como uma planilha (recomendado) ou um arquivo de texto.

Pré-requisitos

Realizar uma avaliação

  1. Valide a fundação que será segmentada.

    cf curl /v2/info
  2. Execute o comando para gerar uma planilha com o relatório de avaliação.

    kf migrate scan-cf-cluster report.xlsx
  3. Revise a avaliação.

    Se você planeja compartilhar a avaliação, é possível editar informações que não quer compartilhar.

Migração

Siga as etapas abaixo para migrar entidades do CF:

  1. Crie um plano que descreva a migração.

  2. Edite o plano para personalizar sua migração.

  3. Aplique o plano para fazer a migração.

As seções abaixo descrevem essas etapas em mais detalhes.

Escopos de migração

Sua primeira decisão ao fazer a migração é definir o escopo dela. O escopo determina a entidade do CF que você quer migrar e os privilégios necessários:

Pré-requisitos

Para fazer a migração, é necessário:

  • Criar o plano de migração: a CLI do Kf. Veja as instruções em Instalar a CLI do Kf.
  • Aplicar o plano de migração: um cluster do GKE executando o Kf. Veja as instruções em Instalar o Kf.
  • Ter acesso a um cluster com uma instalação do Cloud Foundry.
  • Usar a CLI do CF que segmentou a fundação do CF.
  • Ter os privilégios na fundação do CF exigidos pelo escopo de migração, como mostrado acima.

Criar um plano de migração

Use o comando kf migrate plan para criar o plano de migração.

Por padrão, o comando mostra o plano de migração na saída do terminal. Normalmente, você redireciona a saída para um arquivo yaml com o objetivo de personalizar o plano antes de aplicá-lo. Por exemplo, o comando a seguir mostra o seguinte na saída padrão:

kf migrate plan

Redirecione a saída para um arquivo yaml:

kf migrate plan > plan.yaml

Ao executar o comando kf migrate plan, você verá a saída na janela de comando no formulário abaixo, listando as etapas realizadas por ele, além de avisos ou problemas na migração:

kf migrate plan > plan.yaml

    Checking CF CLI is available
    Checking CF CLI is authenticated
    ...

    WARNING: plan has issues
    Issues with domain "apps.internal" in space "kf-team-acceptance":
        E04 - internal domains are not supported

    Issues with application "spring-music" in space "kf-team-app":
        E14 - app manifest must have a single process

    Issues with service instance "logspinner-1" in space "kf-team-app":
        E10 - syslog drain configuration is not supported
    ...

Para gerar um plano de migração:

  1. Faça login na fundação do CF usando a CLI do CF.

  2. Realize a migração com base no escopo desejado, em que:

    • MY_ORG especifica o nome da organização.
    • MY_SPACE define o nome do Space.
    • MY_APP especifica o nome do app.
    1. Gere um plano de migração para uma fundação do CF inteira.

      kf migrate plan > plan.yaml
    2. Gere um plano de migração para uma organização.

      kf migrate plan --cf-org MY_ORG > plan.yaml
    3. Gere um plano de migração para um Space.

      kf migrate plan --cf-org MY_ORG --cf-space MY_SPACE > plan.yaml
    4. Gere um plano de migração para um app.

      kf migrate plan --cf-org MY_ORG --cf-space MY_SPACE --cf-app MY_APP > plan.yaml

Se o seguinte erro aparecer depois de executar um destes comandos:

You are not authorized to perform the requested action CF-NotAuthorized 10003

Você não tem os privilégios necessários para ler os endpoints necessários da CAPI.

Editar o plano de migração

Revise e, se quiser, modifique o plano de migração gerado para resolver possíveis erros.

Aplicar o plano de migração

Use o comando kf migrate apply para aplicar o plano de migração e migrar a entidade do CF.

Para aplicar uma migração:

  1. Defina o .kubeconfig para segmentar o cluster do Kf.

  2. Verifique se você tem acesso a um cluster do GKE executando uma instalação completa do Kf. Isso significa que você executou o seguinte comando para se conectar ao cluster:

    gcloud container clusters get-credentials CLUSTER_NAME \
       --project=CLUSTER_PROJECT_ID \
       --zone=CLUSTER_LOCATION
  3. Garanta que não haja nomes de Spaces no cluster do Kf que entrem em conflito com um Space mencionado no plano de migração.

    Os nomes dos Spaces têm o formato cf-org-cf-space. Por exemplo, se o nome da organização for myorg, e o Space for myspace, o do Kf será myorg-myspace.

  4. Aplique o plano de migração.

    kf migrate apply -v --plan plan.yaml

    A sinalização detalhada -v é recomendada, mas não obrigatória. Essa opção faz o comando gerar os comandos do Kf necessários para a migração.