Megosztás a következőn keresztül:


Oktatóanyag: Alkalmazás előkészítése az AKS-hez

A következőkre vonatkozik: AKS az Azure Stack HCI 22H2-n, AKS Windows Serveren

Ebben az oktatóanyagban, amely a hét első része, egy többtárolós alkalmazást készítünk elő egy Kubernetes-fürtön való használatra, amikor az Azure Arc által engedélyezett Azure Kubernetes Service használ. A meglévő fejlesztői eszközök, például a Docker Compose segítségével helyileg hozhat létre és tesztelhet alkalmazásokat.

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 arról a tárolórendszerképről, amelyet a helyileg futó Azure-szavazóalkalmazás helyi webböngészőben nyitott meg.

A későbbi oktatóanyagokban a tárolórendszerképet feltölti egy Azure Container Registry, majd üzembe helyezi egy Kubernetes-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 olyan csomagokat biztosít, amelyek konfigurálják a Dockert Windows rendszeren.

Megjegyzés

Az AKS nem tartalmazza az oktatóanyagok minden lépésének 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 GitHub 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 át 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 használatával automatizálhatja a tárolólemezképek létrehozá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 kép lett letöltve vagy létrehozva. 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 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 megnyitott tárolórendszerképről.

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

Az alkalmazás működésének ellenőrzése után 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ányba.

Á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ásakor egy Docker-rendszerképet fog használni, amely tartalmazza az azure-vote-front nevű Azure Vote-alkalmazást a következő oktatóanyaghoz.

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.