Tutorial: Preparar um aplicativo para o serviço kubernetes do Azure (AKS)Tutorial: Prepare an application for Azure Kubernetes Service (AKS)

Neste tutorial, a parte um de sete, uma aplicação de contentores múltiplos é preparada para utilização com o Kubernetes.In this tutorial, part one of seven, a multi-container application is prepared for use in Kubernetes. As ferramentas de desenvolvimento existentes, como o Docker Compose são utilizadas para criar e testar uma aplicação localmente.Existing development tools such as Docker Compose are used to locally build and test an application. Saiba como:You learn how to:

  • Clonar uma origem de exemplo de aplicação a partir do GitHubClone a sample application source from GitHub
  • Criar uma imagem de contentor a partir da origem de exemplo de aplicaçãoCreate a container image from the sample application source
  • Testar a aplicação de vários contentores num ambiente local do DockerTest the multi-container application in a local Docker environment

Depois de concluída, a aplicação seguinte é executada no seu ambiente de desenvolvimento local:Once completed, the following application runs in your local development environment:

Imagem do cluster do Kubernetes no Azure no Azure

Em Tutoriais adicionais, a imagem de contêiner é carregada em um registro de contêiner do Azure e, em seguida, implantada em um cluster AKS.In additional tutorials, the container image is uploaded to an Azure Container Registry, and then deployed into an AKS cluster.

Antes de começarBefore you begin

Este tutorial pressupõe conhecimentos básicos dos principais conceitos do Docker, como contentores, imagens de contentor e comandos do docker.This tutorial assumes a basic understanding of core Docker concepts such as containers, container images, and docker commands. Para obter noções básicas sobre os contentores, veja Get started with Docker (Introdução ao Docker).For a primer on container basics, see Get started with Docker.

Para concluir este tutorial, precisa de um ambiente de desenvolvimento local do Docker que execute contentores do Linux.To complete this tutorial, you need a local Docker development environment running Linux containers. O Docker fornece pacotes que configuram o Docker em um sistema Mac, Windowsou Linux .Docker provides packages that configure Docker on a Mac, Windows, or Linux system.

O Azure Cloud Shell não inclui os componentes do Docker que são precisos para concluir todos os passos nestes tutoriais.Azure Cloud Shell does not include the Docker components required to complete every step in these tutorials. Por conseguinte, recomendamos a utilização de um ambiente de desenvolvimento completo do Docker.Therefore, we recommend using a full Docker development environment.

Obter o código da aplicaçãoGet application code

O exemplo de aplicação neste tutorial é uma aplicação de votos básica.The sample application used in this tutorial is a basic voting app. A aplicação consiste num componente Web front-end e uma instância do Redis em back-end.The application consists of a front-end web component and a back-end Redis instance. O componente Web é compactado numa imagem personalizada de contentor.The web component is packaged into a custom container image. A instância do Redis utiliza uma imagem inalterada do Hub do Docker.The Redis instance uses an unmodified image from Docker Hub.

Utilize o git para clonar o exemplo de aplicação para o seu ambiente de desenvolvimento:Use git to clone the sample application to your development environment:

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

Altere para o diretório clonado.Change into the cloned directory.

cd azure-voting-app-redis

Dentro do diretório estão: o código de origem da aplicação, um ficheiro de composição do Docker e um ficheiro de manifesto do Kubernetes.Inside the directory is the application source code, a pre-created Docker compose file, and a Kubernetes manifest file. Estes ficheiros são utilizados em todo o tutorial.These files are used throughout the tutorial set.

Criar imagens de contentorCreate container images

Docker Compose pode ser usado para automatizar a criação de imagens de contêiner e a implantação de aplicativos de vários contêineres.Docker Compose can be used to automate building container images and the deployment of multi-container applications.

Utilize o ficheiro docker-compose.yaml de exemplo para criar a imagem de contentor, transferir a imagem de Redis e iniciar a aplicação:Use the sample docker-compose.yaml file to create the container image, download the Redis image, and start the application:

docker-compose up -d

Ao concluir, utilize o comando docker images para ver as imagens criadas.When completed, use the docker images command to see the created images. Foram transferidas ou criadas três imagens.Three images have been downloaded or created. A imagem azure-vote-front contém a aplicação de front-end e utiliza a imagem nginx-flask como base.The azure-vote-front image contains the front-end application and uses the nginx-flask image as a base. A imagem redis é utilizada para iniciar uma instância do Redis.The redis image is used to start a Redis instance.

$ docker images

REPOSITORY                   TAG        IMAGE ID            CREATED             SIZE
azure-vote-front             latest     9cc914e25834        40 seconds ago      694MB
redis                        latest     a1b99da73d05        7 days ago          106MB
tiangolo/uwsgi-nginx-flask   flask      788ca94b2313        9 months ago        694MB

Execute o comando Docker PS para ver os contêineres em execução:Run the docker ps command to see the running containers:

$ docker ps

CONTAINER ID        IMAGE             COMMAND                  CREATED             STATUS              PORTS                           NAMES
82411933e8f9        azure-vote-front  "/usr/bin/supervisord"   57 seconds ago      Up 30 seconds       443/tcp, 0.0.0.0:8080->80/tcp   azure-vote-front
b68fed4b66b6        redis             "docker-entrypoint..."   57 seconds ago      Up 30 seconds       0.0.0.0:6379->6379/tcp          azure-vote-back

Testar a aplicação localmenteTest application locally

Para ver a aplicação em execução, introduza http://localhost:8080 num navegador Web local.To see the running application, enter http://localhost:8080 in a local web browser. O exemplo de aplicação é carregado, conforme mostrado no exemplo seguinte:The sample application loads, as shown in the following example:

Imagem do cluster do Kubernetes no Azure no Azure

Limpar recursosClean up resources

Agora que a funcionalidade da aplicação foi validada, os contentores em execução podem ser parados e removidos.Now that the application's functionality has been validated, the running containers can be stopped and removed. Não elimine as imagens de contentor - no tutorial seguinte, a imagem azure-vote-front é carregada para uma instância do Azure Container Registry.Do not delete the container images - in the next tutorial, the azure-vote-front image is uploaded to an Azure Container Registry instance.

Pare e remova as instâncias de contêiner e os recursos com o comando Docker-Compose :Stop and remove the container instances and resources with the docker-compose down command:

docker-compose down

Quando o aplicativo local tiver sido removido, você terá uma imagem do Docker que contém o aplicativo de voto do Azure, Azure-vote-front, para uso com o próximo tutorial.When the local application has been removed, you have a Docker image that contains the Azure Vote application, azure-vote-front, for use with the next tutorial.

Passos SeguintesNext steps

Neste tutorial, uma aplicação foi testada e imagens de contentor foram criadas para a aplicação.In this tutorial, an application was tested and container images created for the application. Aprendeu a:You learned how to:

  • Clonar uma origem de exemplo de aplicação a partir do GitHubClone a sample application source from GitHub
  • Criar uma imagem de contentor a partir da origem de exemplo de aplicaçãoCreate a container image from the sample application source
  • Testar a aplicação de vários contentores num ambiente local do DockerTest the multi-container application in a local Docker environment

Avance para o próximo tutorial para saber como armazenar imagens de contentores no Azure Container Registry.Advance to the next tutorial to learn how to store container images in Azure Container Registry.