Quickstart: Implementar uma aplicação para um novo Azure Kubernetes Service (AKS) Cluster automático a partir de um repositório de código

Aplica-se a: ✔️ AKS Automatic

Use implantações automatizadas para criar e implantar um aplicativo de um repositório de código para um cluster AKS Automatic novo ou existente. Implementações automatizadas simplificam o processo de configurar um fluxo de trabalho de ação no GitHub para construir e implementar o seu código. Uma vez conectado, cada novo commit que faz dá início ao pipeline. As implantações automatizadas se baseiam em draft.sh. Ao criar um novo fluxo de trabalho de implantação, você pode usar um Dockerfile existente, gerar um Dockerfile, usar manifestos Kubernetes existentes ou gerar manifestos Kubernetes. Os manifestos gerados são criados com as melhores práticas de segurança e resiliência em mente. O AKS Automatic inclui também um SLA de prontidão de pods que garante 99,9% de operações qualificadas de prontidão de pod concluídas em 5 minutos, garantindo uma infraestrutura fiável e auto-reparadora para as suas aplicações.

Neste guia de início rápido, você aprende a:

  • Conecte-se a um repositório de código.
  • Containerize a sua aplicação.
  • Configure manifestos do Kubernetes.
  • Crie um novo cluster AKS Automático.
  • Implante o aplicativo por meio de uma solicitação pull.

Antes de começar

Importante

A partir da versão 1.36 do AKS, os novos clusters AKS Automatic terão por predefinição a API de Gateway do Kubernetes através do add-on de encaminhamento de aplicações ativada, em vez de ingress NGINX gerido com o add-on de encaminhamento de aplicações, devido à descontinuação a montante do Ingress NGINX.

Os clusters automáticos existentes não são afetados, mas devem iniciar a migração para a API do Kubernetes Gateway através do complemento de encaminhamento de aplicações.

Limitações

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

  • O AKS Automatic está geralmente disponível 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 automáticos do AKS ativam, por predefinição, conjuntos de nós de sistema geridos e LocalDNS. Não é possível criar clusters AKS automáticos sem pools de nós do sistema geridos em nenhuma região.
  • O cluster automático do AKS tem o bloqueio do grupo de recursos do nó pré-configurado, o que não permite alterações ao grupo de recursos MC_, impedindo ligações de rede virtual na zona DNS Privado predefinida. Para cenários cross-VNet ou DNS personalizados, use rede personalizada e DNS privado seguindo Crie um cluster privado Azure Kubernetes Service (AKS) Automático numa rede virtual personalizada.
  • É necessária a versão 2.86.0 ou posterior do CLI do Azure. Para encontrar a versão, execute az --version comando. Se precisar de instalar ou atualizar, consulte Install CLI do Azure.
  • As seguintes extensões não são suportadas:
  • Os nós Windows não são suportados.
  • A migração do SKU base do AKS para o SKU automático não é suportada.
  • Migrações entre clusters automáticos AKS sem pools de nós de sistema geridos e clusters automáticos AKS com pools de nós de sistema geridos não são suportadas.

Traga o código-fonte do seu aplicativo

Para implementar uma aplicação a partir de um repositório de código, comece pela página inicial do portal Azure.

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

  1. Pesquise os serviços do Kubernetes na barra de pesquisa superior.
  2. Selecione Kubernetes services nos resultados da pesquisa.
  3. Selecione o botão Criar e selecione Implantar aplicativo.

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

Crie e automatize o fluxo de trabalho de implantação e autorize-o a se conectar ao repositório de código-fonte desejado.

  1. Na guia Noções básicas , selecione Implantar seu aplicativo.
  2. Em Project detalhes, escolha os Subscrição, Grupo de Recursos e Região.
  3. Em Repository details, insira um nome para o fluxo de trabalho e depois selecione Autorizar acesso para se ligar ao repositório de GitHub desejado.
  4. Escolha o repositório e a branch.
  5. Selecione o botão Avançar.

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

Para preparar um aplicativo para o Kubernetes, você precisa compilá-lo em uma imagem de contêiner e armazená-lo em um registro de contêiner. Use 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 podem gerar um para você, caso contrário, você poderá utilizar um Dockerfile existente.

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

  1. Selecione Auto-containerize (gerar Dockerfile) para a configuração do contêiner.
  2. Selecione o local onde salvar o Dockerfile gerado no repositório.
  3. Escolha o ambiente do aplicativo na lista de linguagens e estruturas suportadas.
  4. Insira a porta do aplicativo.
  5. Selecione um Azure Container Registry ou crie um novo. Este registro é usado para armazenar a imagem do aplicativo compilado. A identidade kubelet do cluster AKS Automatic recebe AcrPull permissões nesse registo.

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, consulte 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 implantar, as Implantações Automatizadas poderão gerá-los para você, caso contrário, você poderá utilizar um conjunto de manifestos existentes. Você também pode escolher um Helm chart existente.

Use implantações automatizadas para gerar um conjunto de arquivos de manifesto básicos do Kubernetes para que seu aplicativo esteja instalado e em execução. No momento, as Implantações Automatizadas criam um Deployment, um Servicee um ConfigMap.

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

Para gerar manifestos do Kubernetes:

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

Selecione onde você deseja implantar o aplicativo

Se ainda não tiver um cluster, pode criar um novo cluster AKS Automatic como parte desta implementação.

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

Revisar a configuração e implantar

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

Captura de tela mostrando Implantando o aplicativo.

  1. Um novo cluster AKS Automatic é criado ou um existente é configurado.
  2. Um registro de contêiner é criado ou um existente é configurado com o cluster.
  3. As credenciais federadas são criadas para permitir que o fluxo de trabalho de ações do GitHub seja implementado no cluster.
  4. Uma solicitação pull é criada no repositório de código com todos os arquivos gerados e o fluxo de trabalho.

Revisar e mesclar solicitação pull

Quando a implantação for bem-sucedida, selecione o botão Exibir solicitação pull para exibir os detalhes da solicitação pull gerada em seu repositório de código.

 Captura de ecrã do pull request em GitHub.

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

A fusão da alteração executa o fluxo de trabalho GitHub Actions que constrói a sua aplicação numa imagem contentor, armazena-a no Azure Container Registry e implementa-a no cluster.

Captura de ecrã a mostrar o workflow do GitHub Actions em progresso.

Verifique os recursos implantados

Depois de concluído o pipeline, pode consultar o Kubernetes criado Service no portal Azure selecionando Serviços e entradas no menu de serviço recursos do Kubernetes.

Captura de ecrã 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.

Eliminar recursos

Quando terminares o teu cluster, podes apagá-lo para evitar custos no Azure.

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

Próximos passos

Neste início rápido, você implantou um aplicativo em um cluster Kubernetes usando o AKS Automatic 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 Automatic, continue para a introdução.