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

Ebben az oktatóanyagban, amely egy hétrészes sorozat első része, egy többtárolós alkalmazást fog előkészíteni a Kubernetesben való használathoz. Meglévő fejlesztői eszközök, például a Docker Compose segítségével helyileg hozhat létre és tesztelhet egy 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 Voting App tárolórendszerképéről

A későbbi oktatóanyagokban a tárolórendszerképet feltölti egy Azure Container Registry, majd üzembe helyezi 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ési környezetbe:

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

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

cd azure-voting-app-redis

A könyvtárán belül található meg az alkalmazás forráskódja, egy előre létrehozott Docker Compose-fájl és egy Kubernetes-jegyzékfájl. 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 mintául szolgáló docker-compose.yaml fájl használatával hozza létre a tárolórendszerképet, töltse le a Redis-rendszerképet, és indítsa el az alkalmazást:

docker-compose up -d

Amikor elkészült, a docker images paranccsal tekintheti meg a létrehozott rendszerképeket. Három rendszerkép lett letöltve vagy jött létre. Az azure-vote-front rendszerkép tartalmazza az előtéralkalmazá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 lépjen a http://localhost:8080 helyre egy helyi bö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 Voting App tárolórendszerképérő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 az azure-vote-front rendszerkép fel lesz töltve egy Azure Container Registry példányra.

Állítsa le és távolítsa el a tárolópéldányokat és -erőforrásokat a docker-compose down paranccsal:

docker-compose down

A helyi alkalmazás eltávolítása után egy Docker-rendszerképpel rendelkezik, amely tartalmazza az Azure Vote alkalmazást, az azure-vote-frontot a következő oktatóanyaghoz való használatra.

Következő lépések

Ebben az oktatóanyagban egy alkalmazást teszteltünk, és tárolórendszerképeket hoztunk létre az alkalmazáshoz. 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

Folytassa a következő oktatóanyaggal, amelyben a tárolórendszerképek az Azure Container Registry-ben való tárolásának módját ismerheti meg.