Partilhar via


Tutorial: Preparar uma candidatura para o AKS

Aplica-se a: AKS no Azure Local versão 22H2, AKS no Windows Server

Neste tutorial, parte um de sete, um aplicativo de vários contêineres é preparado para uso em um cluster Kubernetes quando você estiver usando o Serviço Kubernetes do Azure habilitado pelo Azure Arc. As ferramentas de desenvolvimento existentes, como o Docker Compose, são usadas para criar e testar localmente um aplicativo.

Você aprende a:

  • Clone um repositório de uma aplicação de exemplo do GitHub
  • Criar uma imagem de contêiner a partir da fonte do aplicativo de exemplo
  • Testar o aplicativo de vários contêineres em um ambiente Docker local

Uma vez concluído, o seguinte aplicativo é executado em seu ambiente de desenvolvimento local:

Captura de tela mostrando a imagem do contêiner que o Aplicativo de Votação do Azure em execução localmente abriu em um navegador da Web local.

Em tutoriais posteriores, a imagem do contêiner é carregada em um Registro de Contêiner do Azure e, em seguida, implantada em um cluster do Kubernetes.

Antes de começar

Este tutorial pressupõe uma compreensão básica dos principais conceitos do Docker, como contêineres, imagens de contêiner e comandos docker. Para obter uma cartilha sobre noções básicas de contêiner, consulte Introdução ao Docker.

Para concluir este tutorial, você precisa de um ambiente de desenvolvimento Docker local executando contêineres Linux. O Docker fornece pacotes que configuram o Docker em Windows.

Observação

O AKS não inclui os componentes do Docker necessários para concluir todas as etapas destes tutoriais. Portanto, recomendamos o uso de um ambiente de desenvolvimento completo do Docker.

Obter código de aplicação

O aplicativo de exemplo usado neste tutorial é um aplicativo de votação básico que consiste em um componente Web front-end e uma instância Redis back-end. O componente Web é empacotado em uma imagem de contêiner personalizada. A instância do Redis usa uma imagem não modificada do Docker Hub.

Use do GitHub para clonar o aplicativo de exemplo para seu ambiente de desenvolvimento:

git clone https://github.com/Azure-Samples/azure-voting-app-redis.git

Mude para o diretório clonado:

cd azure-voting-app-redis

Dentro do diretório está o código-fonte do aplicativo, um arquivo de composição do Docker pré-criado e um arquivo de manifesto do Kubernetes. Esses arquivos são usados em todo o conjunto de tutoriais. O conteúdo e a estrutura do diretório são os seguintes:

azure-voting-app-redis
│   azure-vote-all-in-one-redis.yaml
│   docker-compose.yaml
│   LICENSE
│   README.md
│
├───azure-vote
│   │   app_init.supervisord.conf
│   │   Dockerfile
│   │   Dockerfile-for-app-service
│   │   sshd_config
│   │
│   └───azure-vote
│       │   config_file.cfg
│       │   main.py
│       │
│       ├───static
│       │       default.css
│       │
│       └───templates
│               index.html
│
└───jenkins-tutorial
        config-jenkins.sh
        deploy-jenkins-vm.sh

Criar imagens de contêiner

Você pode usar Docker Compose para automatizar a criação de imagens de contêiner e a implantação de aplicativos de vários contêineres.

Use o arquivo de docker-compose.yaml de exemplo para criar a imagem do contêiner, baixar a imagem do Redis e iniciar o aplicativo:

docker-compose up -d

Quando concluído, use o comando docker images para ver as imagens criadas. Três imagens foram baixadas ou criadas. A imagem azure-vote-front contém o aplicativo front-end e usa a imagem nginx-flask como base. A imagem redis é usada para iniciar uma instância do Redis.

$ docker images

REPOSITORY                                     TAG                 IMAGE ID            CREATED             SIZE
mcr.microsoft.com/azuredocs/azure-vote-front   v1                  84b41c268ad9        9 seconds ago       944MB
mcr.microsoft.com/oss/bitnami/redis            6.0.8               3a54a920bb6c        2 days ago          103MB
tiangolo/uwsgi-nginx-flask                     python3.6           a16ce562e863        6 weeks ago         944MB

Execute o comando docker ps para ver os contêineres em execução:

$ docker ps

CONTAINER ID        IMAGE                                             COMMAND                  CREATED             STATUS              PORTS                           NAMES
d10e5244f237        mcr.microsoft.com/azuredocs/azure-vote-front:v1   "/entrypoint.sh /sta…"   3 minutes ago       Up 3 minutes        443/tcp, 0.0.0.0:8080->80/tcp   azure-vote-front
21574cb38c1f        mcr.microsoft.com/oss/bitnami/redis:6.0.8         "/opt/bitnami/script…"   3 minutes ago       Up 3 minutes        0.0.0.0:6379->6379/tcp          azure-vote-back

Teste o aplicativo localmente

Para ver o aplicativo em execução, digite http://localhost:8080 em um navegador da Web local. O aplicativo de exemplo é carregado, conforme mostrado no exemplo a seguir:

Captura de tela mostrando a imagem do contêiner aberta em um navegador da Web local.

Limpar recursos

Agora que a funcionalidade do aplicativo está validada, os contêineres em execução podem ser interrompidos e removidos. Não exclua as imagens de contêiner - no próximo tutorial, a imagem azure-vote-front é carregada em uma instância do Registro de Contêiner do Azure.

Pare e remova as instâncias e os recursos do contêiner com o comando docker-compose down:

docker-compose down

Ao remover o aplicativo local, você tem uma imagem do Docker que contém o aplicativo Azure Vote, azure-vote-front, para uso com o próximo tutorial.

Próximos passos

Neste tutorial, um aplicativo foi testado e imagens de contêiner criadas para o aplicativo. Você aprendeu a:

  • Clonar um código-fonte de aplicação de exemplo do GitHub
  • Criar uma imagem de contêiner a partir da fonte do aplicativo de exemplo
  • Testar o aplicativo de vários contêineres em um ambiente Docker local

Avance para o próximo tutorial para saber como armazenar imagens de contêiner no Registro de Contêiner do Azure.