Início Rápido: implantar um aplicativo em um novo cluster Automático do Serviço de Kubernetes do Azure (AKS) a partir de um repositório de código

Aplica-se a: ✔️ AKS Automático

Usar implantações automatizadas para criar e implantar um aplicativo de um repositório de código em um cluster Automático do AKS novo ou existente. As implantações automatizadas simplificam o processo de configuração de um fluxo de trabalho do GitHub Action para criar e implantar seu código. Depois de conectado, cada novo commit que você fizer iniciará o pipeline. As implantações automatizadas são baseadas no draft.sh. Ao criar um fluxo de trabalho de implantação, você poderá usar um Dockerfile existente, gerar um Dockerfile, usar manifestos do Kubernetes existentes ou gerar manifestos do Kubernetes. Os manifestos gerados são criados com as melhores práticas de segurança e resiliência em mente. O AKS Automatic também inclui um [SLA de preparação para pod] que garante que 99,9% de operações de preparação de pod qualificadas sejam concluídas em até 5 minutos, garantindo uma infraestrutura confiável e auto-cura para seus aplicativos.

Neste início rápido, você aprenderá a:

  • Conectar-se a um repositório de código.
  • Conteinerize seu aplicativo.
  • Configurar manifestos do Kubernetes.
  • Criar um cluster Automático do AKS.
  • Implantar o aplicativo por meio de uma pull request.

Antes de começar

Importante

A partir do AKS 1.36, os novos clusters AKS Automatic habilitarão por padrão a Gateway API do Kubernetes por meio do complemento de roteamento de aplicativos, em vez do ingresso NGINX gerenciado com o complemento de roteamento de aplicativos, devido à descontinuação do Ingress NGINX upstream.

Os clusters automáticos existentes não são afetados, mas devem iniciar a migração para a API de Gateway do Kubernetes por meio do complemento de roteamento de aplicativos.

Limitações

As seguintes limitações se aplicam aos clusters automáticos do AKS:

  • O AKS Automatic está disponível de forma geral nas seguintes regiões: australiaeast, austriaeast, belgiumcentral, brazilsouth, canadacentral, centralindia, centralus, chilecentral, denmarkeast, eastasia, eastus, eastus2, francecentral, germanywestcentral, indonesiacentral, israelcentral, italynorth, japaneast, japanwest, koreacentral, malaysiawest, mexicocentral, newzealandnorth, northeurope, norwayeast, polandcentral, southafricanorth, southcentralus, southeastasia, spaincentral, swedencentral, switzerlandnorth, uaenorth, uksouth, westeurope, westus2, westus3.
    • Os novos clusters AKS automáticos, por padrão, habilitam pools de nós de sistema gerenciados e LocalDNS. Você não pode criar clusters automáticos do AKS sem pools de nós do sistema gerenciado em qualquer região.
  • O cluster automático do AKS tem bloqueio do grupo de recursos de nó pré-configurado, o que não permite alterações no MC_ grupo de recursos MC_, impedindo links de VNet na zona DNS privada padrão. Para cenários de DNS entre redes virtuais (VNets) ou DNS personalizado, use uma rede personalizada e um DNS privado seguindo as instruções em Criar um cluster automático do AKS (Serviço de Kubernetes do Azure) privado em uma rede virtual personalizada.
  • CLI do Azure versão 2.86.0 ou posterior é necessária. Para localizar a versão, execute az --version o comando. Se precisar instalar ou atualizar, consulte Instalar CLI do Azure.
  • Não há suporte para as seguintes extensões:
  • Não há suporte para nós do Windows.
  • Não há suporte para a migração entre o SKU base do AKS e o SKU Automático.
  • Não há suporte para migrações entre clusters automáticos do AKS sem pools de nós do sistema gerenciado e clusters automáticos do AKS com pools de nós do sistema gerenciado.

Traga o código-fonte do aplicativo

Para implantar um aplicativo de um repositório de código, comece na home page Azure portal.

Captura de tela mostrando a seleção de 'Implantar aplicativo' no menu de criação de serviços do Kubernetes.

  1. Pesquisar Serviços de Kubernetes na barra de pesquisa superior.
  2. Selecione Kubernetes services nos resultados da pesquisa.
  3. Selecionar o botão Criar e selecionar Implantar aplicativo.

Conectar-se ao repositório de código-fonte

Criar um fluxo de trabalho de implantação automatizado e autorizá-lo a se conectar ao repositório de código-fonte desejado.

  1. Na guia Básico, selecione Implantar seu aplicativo.
  2. Em Detalhes do projeto, escolha a Assinatura, o Grupo de Recursos e a Região.
  3. Em Repository details, insira um nome para o fluxo de trabalho e selecione Authorize access para se conectar ao repositório de GitHub desejado.
  4. Escolha o Repositório e a Ramificação.
  5. Clique no botão Avançar.

Escolha a configuração da imagem de contêiner

Para preparar um aplicativo para o Kubernetes, você precisa criá-lo em uma imagem de contêiner e armazená-lo em um registro de contêiner. Você usa um Dockerfile para fornecer instruções sobre como criar a imagem de contêiner. Se o repositório de código-fonte ainda não tiver um Dockerfile, as Implantações Automatizadas poderão gerar um para você. Caso contrário, você poderá usar um Dockerfile existente.

Use implantações automatizadas para gerar um Dockerfile para muitos idiomas e estruturas, como Go, C#, Node.js, Python, Java, Gradle, Clojure, PHP, Ruby, Erlang, Swift e Rust. O suporte a linguagens é baseado no que está disponível em draft.sh.

  1. Selecione Autoconteinerização (gerar Dockerfile) para a configuração do contêiner.
  2. Selecione a localização para salvar o Dockerfile gerado no repositório.
  3. Escolha o ambiente do aplicativo na lista de linguagens e estruturas com suporte.
  4. Insira a porta do aplicativo.
  5. Selecione um Registro de Contêiner do Azure existente ou crie um novo. Esse registro é usado para armazenar a imagem do aplicativo criada. A identidade do kubelet do cluster Automático do AKS recebe AcrPull permissões nesse registro.

Escolha a configuração do manifesto do Kubernetes

Um aplicativo em execução no Kubernetes consiste em muitos componentes primitivos do Kubernetes. Esses componentes descrevem qual imagem de contêiner usar, quantas réplicas executar, se há um IP público necessário para expor o aplicativo etc. Para obter mais informações, confira a documentação oficial do Kubernetes. Se o repositório de código-fonte ainda não tiver os manifestos básicos do Kubernetes para implantação, as Implantações Automatizadas poderão gerá-los para você. Caso contrário, você poderá usar um conjunto de manifestos existentes. Você também pode escolher um gráfico do Helm existente.

Use Implantações Automatizadas para gerar um conjunto de arquivos de manifesto básico do Kubernetes para que seu aplicativo esteja em funcionamento. No momento, as implantações automatizadas criam uma Deployment, um Service e um ConfigMap.

Os manifestos gerados são projetados para aplicar recomendações de proteções de implantação, como:

Para gerar manifestos do Kubernetes:

  1. Selecione Gerar arquivos de implantação do aplicativo para as opções de implantação.
  2. Insira a porta do aplicativo. Esta porta é usada no Service gerado.
  3. Selecione o local no qual salvar os manifestos do Kubernetes gerados no repositório.
  4. Clique no botão Avançar.

Selecione onde deseja implantar o aplicativo

Se você ainda não tiver um cluster, poderá criar um cluster do AKS Automático como parte desta implantação.

  1. Selecione Criar cluster do Kubernetes Automático para a configuração do cluster.
  2. Insira um nome de cluster.
  3. Escolha o agendamento da manutenção de atualização automática ou deixe o padrão selecionado.
  4. Insira o namespace do Kubernetes no qual o aplicativo está implantado.
  5. Escolha o nível de monitoramento e registro em log ou deixe o padrão selecionado.
  6. Clique no botão Avançar.

Revisar configuração e implantar

Revise a configuração do cluster, do aplicativo e dos manifestos do Kubernetes e selecione Implantar. A criação de um cluster leva alguns minutos. Não navegue para fora da página de implantação.

Captura de tela mostrando a implantação do aplicativo.

  1. Um novo cluster do AKS Automático é criado ou um existente é configurado.
  2. Um registro de contêiner é criado ou um existente é configurado com o cluster.
  3. Credenciais federadas são criadas para permitir que o fluxo de trabalho da Ação GitHub seja implantado no cluster.
  4. Uma pull request é criada no repositório de código com todos os arquivos gerados e o fluxo de trabalho.

Examinar e mesclar pull request

Quando a implantação for bem-sucedida, selecione o botão Exibir pull request para ver os detalhes da pull request gerado no repositório de código.

Screenshot da solicitação de pull em GitHub.

  1. Revise as alterações em Arquivos alterados e faça as edições desejadas.
  2. Selecione Mesclar pull request para mesclar as alterações no repositório de código.

A mesclagem da alteração executa o fluxo de trabalho GitHub Actions que cria seu aplicativo em uma imagem de contêiner, armazena-o em Registro de Contêiner do Azure e o implanta no cluster.

Captura de tela do fluxo de trabalho do GitHub Actions em execução.

Verificar os recursos implantados

Após a conclusão do pipeline, você poderá revisar o Kubernetes Service criado no portal do Azure selecionando Serviços e entradas no menu de serviços Recursos do Kubernetes.

Captura de tela do painel Serviços e entradas.

Selecionar o IP Externo deve abrir uma nova página do navegador com o aplicativo em execução.

Captura de tela mostrando o aplicativo Contoso Air em execução.

Excluir recursos

Depois que você terminar de usar o cluster, poderá excluí-lo para evitar incorrer em custos do Azure.

  1. No portal Azure, navegue até o grupo de recursos.
  2. Selecione Excluir grupo de recursos.
  3. Insira o nome do grupo de recursos para confirmar a exclusão e selecione Excluir.
  4. Na caixa de diálogo Confirmar exclusão, selecione Excluir.

Próximas etapas

Neste início rápido, você implantou um aplicativo em um cluster do Kubernetes usando o AKS Automático e configurou um pipeline de integração contínua/implantação contínua (CI/CD) a partir de um repositório de código.

Para saber mais sobre o AKS Automático, prossiga para a introdução.