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:
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:
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.