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:
- Se não tiver uma subscrição 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 novo projeto.
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
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.
Na guia Especificar intenção, >O que você deseja migrar?, selecione ASP.NET aplicativos Web na lista suspensa.
Em Para onde pretende migrar? , selecioneAzure Kubernetes Service (AKS) .
Em tipo de Virtualização, selecione VMware vSphere.
No dispositivo local, escolha o dispositivo que descobriu seus aplicativos Web desejados no vSphere.
Selecione Continuar.
Escolha entre aplicações detetadas
Em Replicar>aplicativos Web, você pode ver uma lista de aplicativos ASP.NET descobertos em seu ambiente.
Escolha uma ou mais aplicações que devem ser replicadas.
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.
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.
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.
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.
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. 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.
- 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.
- Escolha a subscrição, o grupo de recursos e o recurso de cluster do AKS no qual a aplicação deve ser implementada.
- 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.
- Os valores predefinidos são fornecidos com base na deteção de aplicações.
- Na opção Réplica, selecione o número de instâncias de aplicação para cada aplicação.
- 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.
- 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.
- 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.
- 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.
- 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.
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.
Navegar para o recurso de destino
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.
Selecione Azure Migrate: Server Migration hub >Modernization (Preview)>Jobs.
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.
Selecione o recurso de destino . Todos os passos de pré-migração podem ser configurados aqui.
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.
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.
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.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.
Depois que a imagem for criada, o status geral mudará para Pronto para migrar.
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.
- No separador Descrição geral, selecione Testar migração e, em seguida, selecione Sim para confirmar.
- 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. - 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é Azure Migrate: Server Migration hub> Modernization (Preview)>Jobs.
Selecione o trabalho Iniciar migração de teste que falhou.
Selecione a ligação de tarefa falhada para ver possíveis causas de falha e recomendações.
Migre as suas aplicações para o AKS
A aplicação está finalmente pronta para a migração:
No separador Descrição geral, selecione Migrar e, em seguida, selecione Sim para confirmar.
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.
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:
- Configure CI/CD com Pipelines do Azure, Ações do GitHub ou por meio do GitOps.
- Use o Azure Monitor para monitorar a integridade e o desempenho do AKS e seus aplicativos.
- Melhore a postura de segurança do seu cluster e contêineres AKS com o Microsoft Defender for Containers.
- Otimize o Windows Dockerfiles.
- Revise e implemente as melhores práticas para criar e gerenciar aplicativos no AKS.