Kurz: Příprava aplikace pro AKS

Platí pro: AKS ve Službě Azure Stack HCI 22H2, AKS na Windows Serveru

V tomto kurzu, který je první částí sedmidílné série, je vícekontejnerová aplikace připravená pro použití v clusteru Kubernetes, když používáte Azure Kubernetes Service povolenou službou Azure Arc. Stávající vývojové nástroje, jako je Docker Compose, se používají k místnímu sestavení a testování aplikace.

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:

Snímek obrazovky znázorňující image kontejneru, kterou místně spuštěná hlasovací aplikace Azure otevřela v místním webovém prohlížeči

V dalších kurzech se image kontejneru nahraje do Azure Container Registry a pak se nasadí do clusteru Kubernetes.

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 ve Windows.

Poznámka

AKS neobsahuje komponenty Dockeru potřebné k dokončení každého kroku 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 skládající se z front-end 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í GitHubu naklonujte ukázkovou aplikaci do vývojového prostředí:

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

Přejděte do naklonované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 můžete použít k automatizaci vytváření imagí kontejnerů a nasazení 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. Byly staženy nebo vytvořeny tři obrázky. Image azure-vote-front obsahuje front-endovou aplikaci a jako základ používá image nginx-flask . 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:

Snímek obrazovky znázorňující image kontejneru otevřenou v místním webovém prohlížeči

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

Teď, když je funkce aplikace ověřená, je možné spuštěné kontejnery zastavit a odebrat. Neodstraňovat image kontejneru – v dalším kurzu se image azure-vote-front nahraje do instance Azure Container Registry.

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

docker-compose down

Když odeberete místní aplikaci, budete mít image Dockeru, která obsahuje aplikaci Azure Vote , azure-vote-front, pro použití v dalším kurzu.

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.