Kurz: Příprava aplikace pro službu Azure Kubernetes na Azure Stack HCL

V tomto kurzu, který je první částí sedmidílné série, se připraví vícekontejnerová aplikace pro použití v Kubernetes. Pomocí existujících vývojových nástrojů, jako je Docker Compose, se aplikace místně sestaví a otestuje. Získáte informace o těchto tématech:

  • Klonování zdroje ukázkové aplikace z GitHubu
  • Vytvoření image kontejneru ze zdroje ukázkové aplikace
  • Test vícekontejnerové aplikace v místním prostředí Dockeru

Po dokončení bude ve vašem místním vývojovém prostředí spuštěná následující aplikace:

This image shows the container image that the Azure Voting App running locally opened in a local web browser

V novějších kurzech se image kontejneru nahraje do Azure Container Registry a pak se nasadí do služby Azure Kubernetes v clusteru Azure Stack HCI.

Než začnete

V tomto kurzu se předpokládá základní znalost klíčových konceptů Dockeru, jako jsou kontejnery, image kontejnerů a příkazy docker. Základní informace o kontejnerech najdete v článku Get started with Docker (Začínáme s Dockerem).

K dokončení tohoto kurzu potřebujete místní vývojové prostředí pro Docker se spuštěnými kontejnery Linuxu. Docker poskytuje balíčky, které konfigurují Docker na Windows.

Poznámka

Služba Azure Kubernetes ve službě Azure Stack HCI neobsahuje součásti Docker, které jsou potřeba k dokončení všech kroků v těchto kurzech. Proto doporučujeme použít úplné vývojové prostředí pro Docker.

Získání kódu aplikace

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. Webová součást je zabalená do vlastní image kontejneru. Instance Redis využívá nezměněnou image z Docker Hubu.

Pomocí příkazu git naklonujte ukázkovou aplikaci do svého vývojového prostředí:

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

Přejděte do klonovaného adresáře.

cd azure-voting-app-redis

Tento adresář obsahuje zdrojový kód aplikace, předem vytvořený soubor Docker Compose a soubor manifestu Kubernetes. Tyto soubory se používají v celé této sérii kurzů. Obsah a struktura adresáře jsou následující:

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í kontejneru

Docker Compose je možné použít k automatizaci sestavování imagí kontejnerů a nasazování vícekontejnerových aplikací.

Pomocí ukázkového souboru docker-compose.yaml vytvořte image kontejneru, stáhněte image Redis a spusťte aplikaci:

docker-compose up -d

Po dokončení můžete vytvořené image zobrazit pomocí příkazu docker images. Stáhly se nebo se vytvořily tři image. Image pro hlasování v Azure obsahuje front-end aplikaci a používá Image Nginx jako základ. Image Redis se používá ke spuštění instance 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

Spuštěním příkazu docker ps zobrazte spuštěné kontejnery:

$ 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í

Pokud chcete zobrazit spuštěnou aplikaci, zadejte v místním webovém prohlížeči http://localhost:8080. Načte se ukázková aplikace, jak je znázorněno v následujícím příkladu:

Screenshot showing the container image that hte Azure Voting App running locally opened in a local web browser

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

Teď, když jste ověřili funkčnost aplikace, můžete zastavit a odebrat spuštěné kontejnery. Neodstraňujte image kontejneru – v dalším kurzu se obrázek hlasování v azure do instance Azure Container Registry nahraje.

Zastavte a odeberte instance kontejnerů a související prostředky pomocí příkazu docker-compose down:

docker-compose down

Po odebrání místní aplikace máte k dispozici image Docker, která obsahuje hlasovací aplikaci Azure, hlasování pro Azurepro použití s dalším kurzem.

Další kroky

V tomto kurzu se otestovala aplikace a vytvořily se pro ni image kontejnerů. Naučili jste se:

  • Klonování zdroje ukázkové aplikace z GitHubu
  • Vytvoření image kontejneru ze zdroje ukázkové aplikace
  • Test vícekontejnerové aplikace v místním prostředí Dockeru

V dalším kurzu se dozvíte, jak ukládat image do služby Azure Container Registry.