Modernizar aplicações Web ASP.NET para o Azure Kubernetes Service (pré-visualização)

Este artigo mostra como migrar ASP.NET aplicativos Web em escala para o Serviço Kubernetes do Azure usando o Azure Migrate. Atualmente, esse fluxo só suporta ASP.NET aplicativos Web executados no VMware. Para outros ambientes, siga estas etapas.

Nota

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 sempre que possível e não mostram todas as configurações e caminhos possíveis.

Neste tutorial, irá aprender a:

  • Escolha e prepare ASP.NET aplicativos Web em escala para migração para o Serviço Kubernetes do Azure usando o fluxo integrado no Azure Migrate.
  • Configure as configurações de destino, como o número de instâncias de aplicativos para executar e replicar seus aplicativos.
  • Execute migrações de teste para garantir que seus aplicativos girem corretamente.
  • Execute uma migração completa de seus aplicativos para o AKS.

Pré-requisitos

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

Limitações

  • Pode migrar aplicações ASP.NET com o Microsoft .NET framework 3.5 ou posterior.
  • Você pode migrar servidores de aplicativos que executam o Windows Server 2012 R2 ou posterior (os servidores de aplicativos devem estar executando o PowerShell versão 5.1).
  • As aplicações devem estar em execução nos Serviços de Informação Internet (IIS) 7.5 ou posterior.

Ativar a replicação

Depois que os aplicativos Web forem avaliados, você poderá migrá-los usando o fluxo de migração integrado no Azure Migrate. A primeira etapa desse processo é configurar e iniciar a replicação de seus aplicativos Web.

Especificar intenção

  1. Navegue até o Azure Migrar servidor de projeto>, 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 ASP.NET aplicativos Web na lista suspensa.

  3. Em Para onde pretende migrar? , selecioneAzure Kubernetes Service (AKS) .

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

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

  6. Selecione Continuar.

    Screenshot of the specify intent tab.

Escolha entre aplicações detetadas

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 uma ou mais aplicações que devem ser replicadas.

  2. A coluna Status da modernização indica a prontidão do aplicativo para ser executado no AKS. Isso pode levar um dos seguintes valores - Ready, Error( s), Replication in Progress.

  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 detetados a partir dos arquivos de configuração descobertos. Insira os valores de atributo necessários e selecione Salvar. Estas configurações serão armazenadas diretamente no cluster de destino como segredos ou podem ser montadas com o Azure Key Vault. Isto pode ser configurado nas definições avançadas.

    Screenshot of the Application configurations tab.

  4. Selecione a aplicação e selecione a ligação Diretórios de aplicações para abrir o separador Diretórios de aplicações. Indique o caminho para pastas/ficheiros que precisam de ser copiados para que a aplicação seja executada e selecione Guardar. Com base na opção selecionada no menu pendente, estes artefactos são copiados diretamente para a imagem de contentor ou montados como um volume persistente no cluster através da partilha de ficheiros do Azure. Se for escolhido um volume persistente, o destino pode ser configurado nas definições avançadas.

    Screenshot of the Application directories tab.

  5. Para os aplicativos que usam a autenticação do Windows, indicada pelo tipo de autenticação, você pode configurar o gMSA V2 no cluster AKS de destino.

    Screenshot of the gMSA configuration tab.

    Definiçã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 utilizador da conta Nome de usuário do usuário de 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.
    Palavra-passe da conta Senha do usuário acima.
    Servidor DNS de domínio Endereço IP do servidor DNS que pode resolver o seu nome de domínio do Ative Directory.
    FQDN do domínio Nome de domínio totalmente qualificado do seu domínio do Ative Directory.
    Endereço do controlador de domínio Endereço IP do Controlador de Domínio Ative Directory. A conexão é estabelecida para permitir remotamente que o usuário do domínio especificado recupere credenciais para o gMSA especificado.
    Nome de utilizador do administrador do domínio Nome de usuário de um usuário que tem privilégios suficientes para validar remotamente a conta gMSA e o usuário do domínio.
    Palavra-passe de administrador do domínio Senha para o usuário administrador acima.
  6. Selecione Seguinte.

Nota

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

Configurar definições de destino

Nas configurações de Replicar>destino, você pode configurar o destino para o qual os aplicativos serão migrados.

Screenshot of the Target settings tab on the Replicate tab.

  1. Escolha a assinatura, o grupo de recursos e o recurso de registro de contêiner para o qual as imagens de contêiner do aplicativo devem ser enviadas.
  2. Escolha a subscrição, o grupo de recursos e o recurso de cluster do AKS no qual a aplicação deve ser implementada.
  3. Selecione Seguinte.

Nota

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

Configurar definições da implementação

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

Screenshot of the Deployment settings tab on the Replicate tab.

  1. Os valores predefinidos são fornecidos com base na deteção de aplicações.
  2. Na opção Réplica, selecione o número de instâncias de aplicação para cada aplicação.
  3. Na opção Balanceador de carga, selecione Externo se a aplicação precisar de ser acedida através da Internet. Se for escolhido Interno, a aplicação só pode ser acedida na rede virtual do cluster do AKS.
  4. Selecione Seguinte.

Configurar definições avançadas

Se uma ou mais aplicações tinham configurações de aplicações ou diretórios atualizados em Replicar>aplicações Web, então a opção Replicar>Avançadas é utilizada para fornecer configurações necessárias adicionais.

Screenshot of the Advanced settings tab on the Replicate tab.

  1. Se as configurações de aplicativo foram fornecidas, escolha armazená-las como segredos nativos do Kubernetes ou no Cofre de Chaves do Azure usando o driver CSI de armazenamento de segredos. Verifique se o cluster de destino tem o complemento do driver de armazenamento de segredos habilitado.
  2. Se foram fornecidos diretórios de aplicações com uma opção de armazenamento persistente, selecione uma partilha de ficheiros do Azure para armazenar estes ficheiros.
  3. Selecione Seguinte.

Rever e iniciar a replicação

Reveja as suas seleções e efetue quaisquer outras alterações necessárias ao navegar para o separador direito no separador Replicar. Depois de rever, selecione Replicar.

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

Prepare para a migração

Depois de iniciar a replicação, o Azure Migrate cria um trabalho de replicação que pode ser acessado a partir do seu projeto.

  1. Navegue até o Azure Migrar projeto >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 Azure Migrate: Server Migration hub >Modernization (Preview)>Jobs.

    Screenshot of the Jobs tab in the migration hub.

  3. Selecione Azure Kubernetes Service (AKS) como o destino de replicação. O Azure Migrate criará uma tarefa de replicação para cada aplicação ASP.NET replicada. Selecione Criar ou atualizar o trabalho de implantação de carga de trabalho do tipo Implantação de carga de trabalho.

    Screenshot of selecting the replication jobs.

  4. Selecione o recurso de destino . Todos os passos de pré-migração podem ser configurados aqui.

    Screenshot of selecting the target resource within the replication job.

  5. Após a conclusão da replicação, o status da replicação será Concluído e o status geral será Construção de imagem pendente.

Reveja a imagem de contentor e os manifestos do Kubernetes

No separador Definições de destino, serão fornecidas ligações para o ficheiro do Docker e os manifestos do Kubernetes.

Screenshot of the target settings in the target resource.

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

    Screenshot of the docker file editor in the target settings.

  2. Selecione o link Revisão de especificações de implantação para abrir o editor. Ele contém o arquivo de manifesto do Kubernetes contendo todos os recursos que serão implantados, incluindo StatefulSet, Service, ServiceAccount etc. Revise e faça alterações conforme necessário. Selecione Guardar.

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

  3. Na guia Visão geral, selecione Criar imagem de contêiner para criar e enviar a imagem de contêiner para o registro de contêiner fornecido.

  4. Depois que a imagem for criada, o status geral mudará para Pronto para migrar.

    Screenshot of the Target resource post building container image.

Executar uma migração de teste

Com a imagem de contentor pronta, execute uma migração de teste para garantir que a sua aplicação corre corretamente no AKS.

  1. No separador Descrição geral, selecione Testar migração e, em seguida, selecione Sim para confirmar.
  2. Assim que a migração de teste estiver concluída, verifique se as cargas de trabalho estão em execução no cluster do AKS. Se a opção de 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é Azure Migrate: Server Migration hub> Modernization (Preview)>Jobs.

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

    Screenshot of the failed test migrate job.

  3. Selecione a ligação de tarefa falhada para ver possíveis causas de falha e recomendações.

    Screenshot of the failed test migrate task.

Migre as suas aplicações para o AKS

A aplicação está finalmente pronta para a migração:

  1. No separador Descrição geral, selecione Migrar e, em seguida, selecione Sim para confirmar.

    Screenshot of the target resource ready for migration.

  2. De forma semelhante ao fluxo de trabalho de migração de teste, verifique se as cargas de trabalho estão em execução no cluster do AKS.

  3. A aplicação foi agora migrada com êxito. Se desejar que o appliance o descubra novamente e o disponibilize para migração, selecione Concluir migração.

Próximos passos

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