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:
- Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
- Conclua o primeiro tutorial para descobrir aplicativos Web em execução em seu ambiente VMware.
- Vá para o projeto existente ou crie um projeto.
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
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.
Na guia Especificar intenção, >O que você deseja migrar?, selecione Aplicativos Web ASP.NET na lista suspensa.
Em Para onde você deseja migrar?, selecione Serviço de Kubernetes do Azure (AKS).
No tipo de Virtualização, selecione VMware vSphere.
Em Dispositivo local, escolha o dispositivo que descobriu seus aplicativos Web desejados no vSphere.
Selecione Continuar.
Escolher de aplicativos descobertos
Em Replicar>Aplicativos Web, você pode ver uma lista de aplicativos ASP.NET descobertos em seu ambiente.
Escolha um ou mais aplicativos que devem ser replicados.
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.
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.
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.
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.
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. 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.
- 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.
- Escolha a assinatura, o grupo de recursos e o recurso de cluster do AKS no qual o aplicativo deve ser implantado.
- 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.
- Os valores padrão são fornecidos com base na descoberta do aplicativo.
- Na opção Réplica, escolha o número de instâncias de aplicativo para cada aplicativo.
- 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.
- 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.
- 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.
- 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.
- 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.
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.
Navegue até o recurso de destino
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.
Selecione Migrações para Azure: Modernização do hub de >Migração de Servidor (Versão Prévia)>Trabalhos.
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.
Selecione o recurso de Destino. Todas as etapas de pré-migração podem ser configuradas aqui.
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.
Selecione o link de revisão do arquivo do Docker para abrir o editor. Revise e faça alterações conforme necessário. Clique em Salvar.
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. Clique em Salvar.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.
Depois que a imagem for criada, o Status geral será alterado para Pronto para Migrar.
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.
- Na guia Visão geral, selecione Testar migração e, em seguida, selecione Sim para confirmar.
- 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. - 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:
Navegue até Migrações para Azure: Modernização do hub de >Migração de Servidor (Versão Prévia)>Trabalhos.
Selecione o trabalho Iniciar migração de teste que falhou.
Selecione o link de tarefa com falha para ver possíveis causas de falha e recomendações.
Migre seus aplicativos para o AKS
O aplicativo está finalmente pronto para migração:
Na guia Visão geral, selecione Migrar e, em seguida, selecione Sim para confirmar.
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.
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:
- Configure CI/CD com o Azure Pipelines e GitHub Actions ou pelo GitOps.
- Use o Azure Monitor para monitorar a integridade e o desempenho do AKS e seus aplicativos.
- Reforce a postura de segurança do cluster e dos contêineres do AKS com o Microsoft Defender para contêineres.
- Otimizar Dockerfiles do Windows.
- Revise e implemente as práticas recomendadas para criar e gerenciar aplicativos no AKS.