Oktatóanyag: Alkalmazás előkészítése az Azure Kubernetes Service (AKS) szolgáltatáshoz

Ebben az oktatóanyagban, amely a hét első része, egy többtárolós alkalmazást készít elő a Kubernetesben való használatra. A meglévő fejlesztői eszközök, például a Docker Compose használatával helyileg hozhatja létre és tesztelheti az alkalmazást. Az alábbiak végrehajtásának módját ismerheti meg:

  • Mintaalkalmazás forrásának klónozása a GitHubról
  • Tárolórendszerkép létrehozása a mintaalkalmazás forrásából
  • A többtárolós alkalmazás tesztelése helyi Docker-környezetben

Miután végzett ezzel, az alábbi alkalmazás a helyi fejlesztői környezetben fut majd.

Képernyőkép a helyi webböngészőben helyileg megnyitott Azure-szavazóalkalmazást futtató tárolórendszerképről

A későbbi oktatóanyagokban feltölti a tárolórendszerképet egy Azure Container Registry (ACR), majd üzembe helyezi azt egy AKS-fürtön.

Előkészületek

Az oktatóanyag feltételezi, hogy rendelkezik a Docker fő fogalmaira, például a tárolókra, tárolórendszerképekre és a docker-parancsokra vonatkozó alapvető ismeretekkel. A tárolókkal kapcsolatos alapfogalmakért tekintse meg a Docker használatának első lépéseivel foglalkozó témakört.

Az oktatóanyag elvégzéséhez szüksége lesz egy Linuxos tárolókat futtató helyi Docker fejlesztési környezetre. A Docker csomagokat biztosít, amelyekkel a Docker Mac, Windows vagy Linux rendszereken konfigurálható.

Megjegyzés

Az Azure Cloud Shell nem tartalmazza a jelen oktatóanyagok lépéseinek elvégzéséhez szükséges Docker-összetevőket. Ezért ajánlott egy teljes Docker fejlesztési környezet használata.

Az alkalmazáskód letöltése

Az oktatóanyagban használt mintaalkalmazás egy alapszintű szavazóalkalmazás, amely egy előtér-webösszetevőből és egy háttérbeli Redis-példányból áll. A webes összetevő egy egyéni tárolórendszerképbe van csomagolva. A Redis-példány a Docker Hubról származó, módosítatlan rendszerképet használ.

A git használatával klónozza a mintaalkalmazást a fejlesztői környezetbe.

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

Váltson át a klónozott könyvtárra.

cd azure-voting-app-redis

A könyvtár tartalmazza az alkalmazás forráskódját, egy előre létrehozott Docker-levélírási fájlt és egy Kubernetes-jegyzékfájlt. Ezeket a fájlokat használjuk az oktatóanyagokban. A könyvtár tartalma és szerkezete a következő:

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

Tárolórendszerképek létrehozása

A Docker Compose segítségével automatizálhatja a tárolórendszerképek összeállítását és a többtárolós alkalmazások üzembe helyezését.

A következő parancs a mintafájlt docker-compose.yaml használja a tárolórendszerkép létrehozásához, a Redis-lemezkép letöltéséhez és az alkalmazás elindításához.

docker-compose up -d

Ha elkészült, a docker images paranccsal tekintse meg a létrehozott képeket. A rendszer három képet tölt le vagy hoz létre. Az azure-vote-front rendszerkép tartalmazza az előtér-alkalmazást, és az nginx-flask rendszerképet használja alapként. A Redis-rendszerkép egy Redis-példány elindítására szolgál.

$ 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

Futtassa a docker ps parancsot a futó tárolók megtekintéséhez.

$ 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

Az alkalmazás helyi tesztelése

A futó alkalmazás megtekintéséhez nyissa meg http://localhost:8080 a következőt egy helyi webböngészőben. A mintaalkalmazás betöltődik az alábbi példában látható módon:

Képernyőkép a helyi webböngészőben helyileg megnyitott Azure-szavazóalkalmazást futtató tárolórendszerképről

Az erőforrások eltávolítása

Most, hogy az alkalmazás működésének ellenőrzése megtörtént, a futó tárolók leállíthatók és eltávolíthatók. Ne törölje a tárolórendszerképeket – a következő oktatóanyagban feltölti az azure-vote-front rendszerképet egy ACR-példányba.

A tárolópéldányok és -erőforrások leállításához és eltávolításához használja a docker-compose down parancsot.

docker-compose down

A helyi alkalmazás eltávolítása után rendelkezik egy Docker-rendszerképpel, amely tartalmazza az Azure Vote alkalmazást( azure-vote-front), amelyet a következő oktatóanyagban használni fog.

Következő lépések

Ebben az oktatóanyagban létrehozott egy mintaalkalmazást, létrehozott egy tárolórendszerképeket az alkalmazáshoz, majd tesztelte az alkalmazást. Megtanulta végrehajtani az alábbi műveleteket:

  • Mintaalkalmazás forrásának klónozása a GitHubról
  • Tárolórendszerkép létrehozása a mintaalkalmazás forrásából
  • A többtárolós alkalmazás tesztelése helyi Docker-környezetben

A következő oktatóanyagban megtudhatja, hogyan tárolhat tárolólemezképeket egy ACR-ben.