Modernizar aplicativos Web ASP.NET para o código do Serviço de Kubernetes do Azure (versão prévia)

Esse artigo mostra como migrar aplicativos Web do ASP.NET em escala para o Serviço de Kubernetes do Azure usando as Migrações para Azure. Atualmente, esse fluxo só dá suporte a aplicativos Web ASP.NET em execução na VMware. Para outros ambientes, siga estas etapas.

Observação

Os tutoriais mostram o caminho de implantação mais simples para um cenário para que você possa configurar rapidamente uma prova de conceito. Os tutoriais usam opções padrão quando possível e não mostram todas as configurações e todos os caminhos possíveis.

Neste tutorial, você aprenderá como:

  • Escolha e prepare aplicativos Web ASP.NET em escala para migração para o Serviço de Kubernetes do Azure usando o fluxo integrado nas Migrações para Azure.
  • Defina as configurações de destino, como o número de instâncias de aplicativo para execução e replicação dos seus aplicativos.
  • Execute migrações de teste para garantir que seus aplicativos sejam executados corretamente.
  • Execute uma migração completa de seus aplicativos para o AKS.

Pré-requisitos

Antes de começar este tutorial, você deve fazer o seguinte:

Limitações

  • Você pode migrar aplicativos ASP.NET que usam o Microsoft .NET Framework 3.5 ou versões posteriores.
  • Migre servidores de aplicativos que executam o Windows Server 2012 R2 ou versões posteriores (os servidores de aplicativos devem estar executando o PowerShell 5.1).
  • Os aplicativos devem estar em execução no IIS (Serviços de Informações da Internet) versão 7.5 ou posterior.

Habilitar a replicação

Assim que os aplicativos Web forem avaliados, você poderá migrá-los usando o fluxo de migração integrado nas Migrações para Azure. A primeira etapa nesse processo é configurar e iniciar a replicação de seus aplicativos Web.

Especificar intenção

  1. Navegue até o projeto das Migrações para Azure >Servidores, bancos de dados e aplicativos Web>Ferramentas de migração>Migração e modernização, selecione Replicar.

    Screenshot of the Replicate option selected.

  2. Na guia Especificar intenção, >O que você deseja migrar?, selecione Aplicativos Web ASP.NET na lista suspensa.

  3. Em Para onde você deseja migrar?, selecione Serviço de Kubernetes do Azure (AKS).

  4. No tipo de Virtualização, selecione VMware vSphere.

  5. Em Dispositivo local, escolha o dispositivo que descobriu seus aplicativos Web desejados no vSphere.

  6. Selecione Continuar.

    Screenshot of the specify intent tab.

Escolher de aplicativos descobertos

Em Replicar>Aplicativos Web, você pode ver uma lista de aplicativos ASP.NET descobertos em seu ambiente.

Screenshot of the Web apps tab on the Replicate tab.

  1. Escolha um ou mais aplicativos que devem ser replicados.

  2. A coluna Status de modernização indica a preparação do aplicativo para ser executado no AKS. Isso pode ter um dos seguintes valores – Pronto, Erro(s), Replicação em Andamento.

  3. Selecione o aplicativo e selecione o link Configurações do aplicativo para abrir a guia Configurações do aplicativo. Isso fornece a lista de atributos detectados nos arquivos de configuração descobertos. Insira os valores de atributo necessários e selecione Salvar. Essas configurações serão armazenadas diretamente no cluster de destino como segredos ou poderão ser montadas usando o Azure Key Vault. Isso pode ser configurado nas configurações avançadas.

    Screenshot of the Application configurations tab.

  4. Selecione o aplicativo e selecione o link Diretórios do aplicativo para abrir a guia Diretórios do aplicativo. Forneça o caminho para pastas/arquivos que precisam ser copiados para que o aplicativo seja executado e selecione Salvar. Com base na opção selecionada na lista suspensa, esses artefatos são copiados diretamente para a imagem do contêiner ou montados como um volume persistente no cluster por meio do compartilhamento de arquivos do Azure. Se o volume persistente for escolhido, o destino poderá ser configurado nas configurações avançadas.

    Screenshot of the Application directories tab.

  5. Para as aplicações que utilizam a autenticação do Windows, indicada pelo Tipo de autenticação, pode configurar o gMSA V2 no cluster AKS alvo.

    Screenshot of the gMSA configuration tab.

    Configuração Comentários
    Nome da conta Nome da conta gMSA a ser usada. Se a conta não existir, uma nova conta com esse nome será criada automaticamente.
    Nome de usuário da conta Nome de usuário do domínio padrão autorizado a acessar o gMSA configurado em seu controlador de domínio. Se o nome de usuário fornecido não existir, um novo usuário de domínio padrão será criado automaticamente.
    Senha da conta Senha do usuário acima.
    Servidor DNS de domínio Endereço IP do servidor DNS que pode resolver o nome de domínio do Active Directory.
    Domain FQDN Nome de domínio totalmente qualificado do seu domínio do Active Directory.
    Endereço do controlador de domínio Endereço IP do controlador de Domínio do Active Directory. A conexão é estabelecida para permitir remotamente que o usuário do domínio especificado recupere credenciais para o gMSA especificado.
    Nome de usuário do administrador de domínio Nome de usuário de um usuário que possui privilégios suficientes para validar remotamente a conta gMSA e o usuário do domínio.
    Senha do administrador de domínio Senha do usuário administrador acima.
  6. Selecione Avançar.

Observação

O caminho de origem e o valor do atributo das configurações do aplicativo e dos diretórios do aplicativo juntos devem ter menos de 3.000 caracteres. Isso pode ser traduzido aproximadamente para cerca de 15 entradas (incluindo configurações e diretórios) com comprimento de cerca de 200 caracteres cada.

Definir as configurações de destino

Em Replicar>Configurações de destino, você pode configurar o destino para onde as aplicações serão migradas.

Screenshot of the Target settings tab on the Replicate tab.

  1. Escolha a subscrição, o grupo de recursos e o recurso de registo de contentores para os quais as imagens do contêiner de aplicações devem ser enviadas.
  2. Escolha a assinatura, o grupo de recursos e o recurso de cluster do AKS no qual o aplicativo deve ser implantado.
  3. Selecione Avançar.

Observação

Apenas os clusters AKS com nós do Windows são listados.

Definir configurações de implantação

Em Replicar>Configurações de implantação, você pode configurar o aplicativo no cluster AKS.

Screenshot of the Deployment settings tab on the Replicate tab.

  1. Os valores padrão são fornecidos com base na descoberta do aplicativo.
  2. Na opção Réplica, escolha o número de instâncias de aplicativo para cada aplicativo.
  3. Na opção Balanceador de carga, escolha Externo se o aplicativo precisar ser acessado pela Internet. Se Interno for escolhido, o aplicativo só poderá ser acessado na rede virtual do cluster do AKS.
  4. Selecione Avançar.

Definir configuração avançada

Se um ou mais aplicativos tiverem configurações de aplicativo ou diretórios atualizados em Replicar>Aplicativos Web, Replicar>Avançado será usado para fornecer configurações adicionais necessárias.

Screenshot of the Advanced settings tab on the Replicate tab.

  1. Se as configurações do aplicativo forem fornecidas, escolha armazená-las como segredos nativos do Kubernetes ou no Azure Key Vault usando o driver CSI do repositório de segredos. Verifique se o cluster de destino tem o complemento do driver do repositório de segredos habilitado.
  2. Se os diretórios de aplicativos tiverem sido fornecidos com uma opção de armazenamento persistente, selecione um compartilhamento de arquivos do Azure para armazenar esses arquivos.
  3. Selecione Avançar.

Revisar e iniciar a replicação

Examine suas seleções e faça outras alterações necessárias navegando até a guia direita na guia Replicar. Depois de revisar, selecione Replicar.

Screenshot of the Review + start replication tab on the Replicate tab.

Preparar para a migração

Depois de iniciar a replicação, as Migrações para Azure criarão um trabalho de replicação que pode ser acessado do seu projeto.

  1. No projeto das Migrações para Azure >Servidores, bancos de dados e aplicativos Web>Ferramentas de migração>Migração e modernização, selecione Visão geral.

    Screenshot of the Overview option selected.

  2. Selecione Migrações para Azure: Modernização do hub de >Migração de Servidor (Versão Prévia)>Trabalhos.

    Screenshot of the Jobs tab in the migration hub.

  3. Selecione Serviço de Kubernetes do Azure (AKS) como o destino de replicação. As Migrações para Azure criarão um trabalho de replicação para cada aplicativo ASP.NET replicado. Selecione Criar ou atualizar a implantação do trabalho da Carga de Trabalho do tipo Implantação de Carga de Trabalho.

    Screenshot of selecting the replication jobs.

  4. Selecione o recurso de Destino. Todas as etapas de pré-migração podem ser configuradas aqui.

    Screenshot of selecting the target resource within the replication job.

  5. Depois que a replicação for concluída, o status de Replicação será Concluído e o Status geral será Compilação de imagem pendente.

Revise a imagem do contêiner e os manifestos do Kubernetes

Na guia Configurações de destino, os links para o arquivo do Docker e os manifestos do Kubernetes serão fornecidos.

Screenshot of the target settings in the target resource.

  1. Selecione o link de revisão do arquivo do Docker para abrir o editor. Revise e faça alterações conforme necessário. Selecione Salvar.

    Screenshot of the docker file editor in the target settings.

  2. Selecione o link de revisão Especificações de implantação para abrir o editor. Isso contém o arquivo de manifesto do Kubernetes que contém todos os recursos que serão implantados, incluindo StatefulSet, Service, ServiceAccount, etc. Examine e faça as alterações conforme necessário. Selecione Salvar.

    Screenshot of the Kubernetes manifest file editor in the target settings.

  3. Na guia Visão geral, selecione Criar imagem de contêiner para compilar e efetuar push da imagem de contêiner para o registro de contêiner fornecido.

  4. Depois que a imagem for criada, o Status geral será alterado para Pronto para Migrar.

    Screenshot of the Target resource post building container image.

Execute um teste de migração

Com a imagem de contêiner pronta, execute uma migração de teste para garantir que o aplicativo seja executado corretamente no AKS.

  1. Na guia Visão geral, selecione Testar migração e, em seguida, selecione Sim para confirmar.
  2. Depois que a migração de teste for concluída, verifique se as cargas de trabalho estão em execução no cluster do AKS. Se a opção do balanceador de carga externo tiver sido escolhida durante o processo de replicação, seu aplicativo deverá ser exposto à Internet por meio de um serviço do tipo loadbalancer com um endereço IP público atribuído.
  3. Depois de verificar se o aplicativo está funcionando, limpe a migração de teste selecionando Limpar migração de teste.

Se a migração de teste falhar:

  1. Navegue até Migrações para Azure: Modernização do hub de >Migração de Servidor (Versão Prévia)>Trabalhos.

  2. Selecione o trabalho Iniciar migração de teste que falhou.

    Screenshot of the failed test migrate job.

  3. Selecione o link de tarefa com falha para ver possíveis causas de falha e recomendações.

    Screenshot of the failed test migrate task.

Migre seus aplicativos para o AKS

O aplicativo está finalmente pronto para migração:

  1. Na guia Visão geral, selecione Migrar e, em seguida, selecione Sim para confirmar.

    Screenshot of the target resource ready for migration.

  2. Assim como para o fluxo de trabalho de migração de teste, verifique se as cargas de trabalho estão em execução no cluster do AKS.

  3. O aplicativo foi migrado com êxito. Se você quiser que o dispositivo o descubra novamente e disponibilize-o para migração, selecione Concluir migração.

Próximas etapas

Depois de migrar seus aplicativos com êxito para o AKS, você pode explorar os seguintes artigos para otimizar seus aplicativos para nuvem: