Implementações automáticas para o Azure Kubernetes Service (AKS)

As Implementações Automatizadas simplificam o processo de configuração de um GitHub Action ou Azure DevOps Pipeline, facilitando a criação de um pipeline contínuo de implementação para a sua aplicação no Azure Kubernetes Service (AKS). Uma vez conectado, cada nova confirmação aciona automaticamente o pipeline, fornecendo atualizações para seu aplicativo sem problemas. Você pode trazer seus próprios arquivos de implantação para criação rápida de pipeline ou gerar Dockerfiles e manifestos do Kubernetes para conteinerizar e implantar aplicativos não conteinerizados com o mínimo de esforço.

Pré-requisitos

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

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

  1. No portal do Azure, navegue até ao recurso do seu cluster AKS.
  2. No menu de serviço, em Configurações, selecione Criar implantações automatizadas>.
  3. Em Repository details, introduza um nome para o fluxo de trabalho e depois selecione GitHub ou ADO para a localização do seu repositório.
  4. Selecione Autorizar acesso para se conectar ao repositório desejado.
  5. Escolha o Repositório e a branch, e, em seguida, selecione 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ê pode usar 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. Selecione o ambiente do aplicativo na lista de linguagens e estruturas suportadas.
  4. Insira a porta do aplicativo.
  5. Forneça o caminho do contexto de compilação do Dockerfile.
  6. Selecione um Azure Container Registry ou crie um novo. Este registro é usado para armazenar a imagem do aplicativo compilado.

Escolha a configuração do manifesto do Kubernetes

Observação

A opção Gerar Manifestos também suporta recursos avançados, como integração do Service Connector, recursos de Ingresso gerados automaticamente e arquivos de manifesto do Kubernetes mais detalhados e personalizáveis.

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ê pode usar um conjunto de manifestos existentes. Você também pode escolher um Helm chart existente.

Se o repositório de código já tiver um Dockerfile, você poderá selecioná-lo para ser usado para criar a imagem do aplicativo.

  1. Selecione Utilizar os ficheiros de implantação de manifesto do Kubernetes existentes para as opções de implantação.
  2. Selecione o arquivo ou pasta de manifesto do Kubernetes no repositório.
  3. Selecione Seguinte.

(Opcional) Usar uma entrada gerenciada e/ou um conector de serviço

Ao gerar manifestos do Kubernetes com implantações automatizadas, você pode, opcionalmente, habilitar o roteamento de aplicativos para configurar um controlador de entrada para seu aplicativo. Também pode usar o Service Connector para criar uma nova ligação ou integrar a sua aplicação de forma fluida com um backend de serviço Azure existente.

O App Routing fornece um controlador de entrada totalmente gerido baseado em NGINX, com encriptação SSL/TLS incorporada usando certificados armazenados no Azure Key Vault e gestão de zonas DNS através do DNS do Azure. Ao usar implantações automatizadas, o comando expose ingress integra-se perfeitamente ao roteamento de aplicativos, facilitando a exposição de seu aplicativo ao tráfego externo sob um nome DNS seguro e personalizado, com configuração mínima.

  1. Selecione a caixa Expor entrada .
  2. Escolha entre um controlador de entrada existente ou um controlador de entrada novo.
  3. Escolha entre usar um controlador de entrada SSL/TLS habilitado ou Insecure .
  4. (Opcional) Insira os detalhes do certificado se escolher um controlador de entrada habilitado para SSL/TLS .
  5. Escolha entre usar DNS do Azure ou um fornecedor terceiros.
  6. Introduza a Zona DNS do Azure e o nome do Subdomínio.

(Opcional) Adicionar variáveis de ambiente

Defina variáveis de ambiente para um contêiner no Kubernetes especificando pares nome-valor. As variáveis de ambiente são importantes, pois ajudam a facilitar o gerenciamento de configurações, o tratamento seguro de informações confidenciais e a flexibilidade entre ambientes.

Revisar a configuração e implantar

Revise a configuração da aplicação e os manifestos do Kubernetes e, em seguida, selecione Implantar. Uma solicitação pull (PR) será gerada no repositório selecionado, portanto, não navegue para fora da página de implantação.

Revisar e mesclar solicitação pull

Quando a implantação for bem-sucedida, selecione 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 de contentor, armazena-a no Azure Container Registry e depois implementa-a no cluster.

Captura de ecrã a exibir o fluxo de trabalho do GitHub Actions em progresso.

Verifique os recursos implantados

Depois de concluído o pipeline, pode consultar o Kubernetes criado Service no portal do Azure selecionando Serviços e ingressos na secção Recursos do Kubernetes do menu de serviço.

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, usa os seguintes passos para o apagar e evitar custos no Azure:

  1. No portal Azure, navegue até Implementações automáticas
  2. Selecione ... no pipeline de sua escolha.
  3. Selecione Eliminar.