Kurz: Příprava aplikace pro službu Azure Kubernetes Service (AKS)Tutorial: Prepare an application for Azure Kubernetes Service (AKS)

V tomto kurzu, který je první částí sedmidílné série, se připraví vícekontejnerová aplikace pro použití v Kubernetes.In this tutorial, part one of seven, a multi-container application is prepared for use in Kubernetes. Pomocí existujících vývojových nástrojů, jako je Docker Compose, se aplikace místně sestaví a otestuje.Existing development tools such as Docker Compose are used to locally build and test an application. Získáte informace o těchto tématech:You learn how to:

  • Klonování zdroje ukázkové aplikace z GitHubuClone a sample application source from GitHub
  • Vytvoření image kontejneru ze zdroje ukázkové aplikaceCreate a container image from the sample application source
  • Test vícekontejnerové aplikace v místním prostředí DockeruTest the multi-container application in a local Docker environment

Po dokončení bude ve vašem místním vývojovém prostředí spuštěná následující aplikace:Once completed, the following application runs in your local development environment:

Snímek obrazovky s obrázkem kontejneru hlasovací aplikace Azure, která je místně otevřená v místním webovém prohlížeči

V novějších kurzech se image kontejneru nahraje do Azure Container Registry a pak se nasadí do clusteru AKS.In later tutorials, the container image is uploaded to an Azure Container Registry, and then deployed into an AKS cluster.

Než začneteBefore you begin

V tomto kurzu se předpokládá základní znalost klíčových konceptů Dockeru, jako jsou kontejnery, image kontejnerů a příkazy docker.This tutorial assumes a basic understanding of core Docker concepts such as containers, container images, and docker commands. Základní informace o kontejnerech najdete v článku Get started with Docker (Začínáme s Dockerem).For a primer on container basics, see Get started with Docker.

K dokončení tohoto kurzu potřebujete místní vývojové prostředí pro Docker se spuštěnými kontejnery Linuxu.To complete this tutorial, you need a local Docker development environment running Linux containers. Docker nabízí balíčky pro konfiguraci Dockeru v systému Mac, Windows nebo Linux.Docker provides packages that configure Docker on a Mac, Windows, or Linux system.

Poznámka

Azure Cloud Shell neobsahuje součásti Dockeru nutné pro dokončení všech kroků v těchto kurzech.Azure Cloud Shell does not include the Docker components required to complete every step in these tutorials. Proto doporučujeme použít úplné vývojové prostředí pro Docker.Therefore, we recommend using a full Docker development environment.

Získání kódu aplikaceGet application code

Ukázková aplikace použitá v tomto kurzu je základní hlasovací aplikace, která se skládá z front-endové webové komponenty a back-endové instance Redis.The sample application used in this tutorial is a basic voting app consisting of a front-end web component and a back-end Redis instance. Webová součást je zabalená do vlastní image kontejneru.The web component is packaged into a custom container image. Instance Redis využívá nezměněnou image z Docker Hubu.The Redis instance uses an unmodified image from Docker Hub.

Pomocí příkazu git naklonujte ukázkovou aplikaci do svého vývojového prostředí:Use git to clone the sample application to your development environment:

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

Přejděte do klonovaného adresáře.Change into the cloned directory.

cd azure-voting-app-redis

Tento adresář obsahuje zdrojový kód aplikace, předem vytvořený soubor Docker Compose a soubor manifestu Kubernetes.Inside the directory is the application source code, a pre-created Docker compose file, and a Kubernetes manifest file. Tyto soubory se používají v celé této sérii kurzů.These files are used throughout the tutorial set. Obsah a struktura adresáře jsou následující:The contents and structure of the directory are as follows:

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

Vytváření imagí kontejneruCreate container images

Docker Compose je možné použít k automatizaci sestavování imagí kontejnerů a nasazování vícekontejnerových aplikací.Docker Compose can be used to automate building container images and the deployment of multi-container applications.

Pomocí ukázkového souboru docker-compose.yaml vytvořte image kontejneru, stáhněte image Redis a spusťte aplikaci:Use the sample docker-compose.yaml file to create the container image, download the Redis image, and start the application:

docker-compose up -d

Po dokončení můžete vytvořené image zobrazit pomocí příkazu docker images.When completed, use the docker images command to see the created images. Stáhly se nebo se vytvořily tři image.Three images have been downloaded or created. Image pro hlasování v Azure obsahuje front-end aplikaci a používá Image Nginx jako základ.The azure-vote-front image contains the front-end application and uses the nginx-flask image as a base. Image Redis se používá ke spuštění instance Redis.The redis image is used to start a Redis instance.

$ 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

Spuštěním příkazu docker ps zobrazte spuštěné kontejnery:Run the docker ps command to see the running containers:

$ 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

Testování aplikace v místním prostředíTest application locally

Pokud chcete zobrazit spuštěnou aplikaci, zadejte v místním webovém prohlížeči http://localhost:8080.To see the running application, enter http://localhost:8080 in a local web browser. Načte se ukázková aplikace, jak je znázorněno v následujícím příkladu:The sample application loads, as shown in the following example:

Snímek obrazovky s obrázkem kontejneru hlasovací aplikace Azure, která je místně otevřená v místním webovém prohlížeči

Vyčištění prostředkůClean up resources

Teď, když jste ověřili funkčnost aplikace, můžete zastavit a odebrat spuštěné kontejnery.Now that the application's functionality has been validated, the running containers can be stopped and removed.\ *Neodstraňujte image kontejnerů _ – v dalším kurzu se nahraje obrázek _azure-hlasování-dopředu\ * do instance 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.

Zastavte a odeberte instance kontejnerů a související prostředky pomocí příkazu docker-compose down:Stop and remove the container instances and resources with the docker-compose down command:

docker-compose down

Po odebrání místní aplikace máte k dispozici image Docker, která obsahuje hlasovací aplikaci Azure, hlasování pro Azure pro použití s dalším kurzem.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.

Další krokyNext steps

V tomto kurzu se otestovala aplikace a vytvořily se pro ni image kontejnerů.In this tutorial, an application was tested and container images created for the application. Naučili jste se:You learned how to:

  • Klonování zdroje ukázkové aplikace z GitHubuClone a sample application source from GitHub
  • Vytvoření image kontejneru ze zdroje ukázkové aplikaceCreate a container image from the sample application source
  • Test vícekontejnerové aplikace v místním prostředí DockeruTest the multi-container application in a local Docker environment

V dalším kurzu se dozvíte, jak ukládat image do služby Azure Container Registry.Advance to the next tutorial to learn how to store container images in Azure Container Registry.