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


Áttekintés: Python-webalkalmazás üzembe helyezése az Azure Container Appsben

Ez az oktatóanyag bemutatja, hogyan tárolózhat egy Python-webalkalmazást, és hogyan helyezheti üzembe az Azure Container Appsben. A rendszer tárolóba helyez egy minta webalkalmazást, és a Docker-rendszerképet az Azure Container Registryben tárolja. Az Azure Container Apps úgy van konfigurálva, hogy lekérje a Docker-lemezképet a Container Registryből, és hozzon létre egy tárolót. A mintaalkalmazás egy Azure Database for PostgreSQL-hez csatlakozik a Container Apps és más Azure-erőforrások közötti kommunikáció bemutatásához.

A natív felhőbeli és tárolóalapú Python-webalkalmazások az Azure-ban több lehetőség közül is választhatnak. Ez az oktatóanyag az Azure Container Appst ismerteti. A Container Apps általános célú tárolók futtatására alkalmas, különösen a tárolókban üzembe helyezett számos mikroszolgáltatást felölelő alkalmazásokhoz. Ebben az oktatóanyagban egy tárolót fog létrehozni. Ha tárolóként szeretne üzembe helyezni egy Python-webalkalmazást Azure-alkalmazás Szolgáltatásban, olvassa el a Containerized Python webalkalmazást az App Service-ben.

Ebben az oktatóanyagban a következőket fogja elkönyvelni:

  • Hozzon létre egy Docker-rendszerképet egy Python-webalkalmazásból, és tárolja a rendszerképet az Azure Container Registryben.
  • Konfigurálja az Azure Container Appst a Docker-rendszerkép üzemeltetéséhez.
  • Állítson be egy GitHub-műveletet , amely frissíti a tárolót egy új Docker-rendszerképpel, amelyet a GitHub-adattár módosításai aktiválnak. Ez az utolsó lépés nem kötelező.

Az oktatóanyagot követően be lesz állítva egy Python-webalkalmazás folyamatos integrációja (CI) és folyamatos üzembe helyezése (CD) az Azure-ba.

Szolgáltatás áttekintése

Az oktatóanyagot támogató szolgáltatásdiagram bemutatja, hogyan használják a helyi környezetet, a GitHub-adattárakat és az Azure-szolgáltatásokat az oktatóanyagban.

A screenshot of the environments and services used in the Tutorial - Deploy a Python App on Azure Container Apps.

Az oktatóanyagot támogató és a fenti ábrán látható összetevők a következők:

  • Azure Container Apps

    • Az Azure Container Apps segítségével mikroszolgáltatásokat és tárolóalapú alkalmazásokat futtathat egy kiszolgáló nélküli platformon. A kiszolgáló nélküli platform azt jelenti, hogy élvezheti a tárolók minimális konfigurációval történő futtatásának előnyeit. Az Azure Container Apps használatával az alkalmazások dinamikusan méretezhetők olyan jellemzők alapján, mint a HTTP-forgalom, az eseményvezérelt feldolgozás vagy a PROCESSZOR- vagy memóriaterhelés.
    • A Container Apps lekéri a Docker-rendszerképeket az Azure Container Registryből. A tárolórendszerképek módosításai frissítést váltanak ki az üzembe helyezett tárolón. Konfigurálhatja a GitHub Actionst is a frissítések aktiválásához.
  • Azure Container Registry

    • Az Azure Container Registry lehetővé teszi Docker-rendszerképek Azure-beli használatának lehetőségét. Mivel a Tárolóregisztrációs adatbázis közel van az Azure-beli üzemelő példányokhoz, ön szabályozhatja a hozzáférést, így a Microsoft Entra-csoportok és -engedélyek segítségével szabályozhatja a Docker-rendszerképekhez való hozzáférést.
    • Ebben az oktatóanyagban a beállításjegyzék forrása az Azure Container Registry, de a Docker Hubot vagy egy magánregisztrációs adatbázist is használhat kisebb módosításokkal.
  • Azure Database for PostgreSQL

  • GitHub

    • Az oktatóanyag mintakódja egy GitHub-adattárban található, amelyet helyileg fog elágaztatni és klónozni. Ha CI/CD-munkafolyamatot szeretne beállítani a GitHub Actions használatával, szüksége lesz egy GitHub-fiókra.
    • Továbbra is követheti ezt az oktatóanyagot GitHub-fiók nélkül, helyileg vagy az Azure Cloud Shellben dolgozva a tárolórendszerképet a mintakód-adattárból készítheti el.

Változatok és CI/CD

Ha módosítani szeretné a kódokat, és le szeretné őket küldeni egy tárolóba, hozzon létre egy új Docker-rendszerképet a módosítással. Ezután leküldi a lemezképet a Container Registrybe, és létrehozza a tárolóalkalmazás új változatát .

A folyamat automatizálásához az oktatóanyag egyik opcionális lépése bemutatja, hogyan hozhat létre folyamatos integrációs és folyamatos kézbesítési (CI/CD) folyamatot a GitHub Actions használatával. A folyamat automatikusan létrehozza és üzembe helyezi a kódot a Tárolóalkalmazásban, amikor egy új véglegesítést leküld a GitHub-adattárba.

Hitelesítés és biztonság

Ebben az oktatóanyagban egy Docker-tárolórendszerképet fog létrehozni közvetlenül az Azure-ban, és üzembe helyezi azt az Azure Container Appsben. A Container Apps egy környezet környezetében fut, amelyet egy Azure-beli virtuális hálózat (VNet) támogat. A virtuális hálózatok alapvető építőelemei a magánhálózatnak az Azure-ban. A Container Apps lehetővé teszi, hogy a bejövő forgalom engedélyezésével közzétehesse a tárolóalkalmazást a nyilvános weben.

A folyamatos integráció és a folyamatos kézbesítés (CI/CD) beállításához engedélyeznie kell az Azure Container Appst OAuth-alkalmazásként a GitHub-fiókjához. OAuth-alkalmazásként a Container Apps egy GitHub Actions-munkafolyamatfájlt ír az adattárba az Azure-erőforrásokra és feladatokra vonatkozó információkkal a frissítésükhöz. A munkafolyamat egy Microsoft Entra szolgáltatásnév (vagy meglévő) hitelesítő adataival frissíti az Azure-erőforrásokat a Container Apps szerepköralapú hozzáférésével, valamint az Azure Container Registry felhasználónevével és jelszavával. A hitelesítő adatok biztonságosan vannak tárolva a GitHub-adattárban.

Végül az oktatóanyag-minta webalkalmazás egy PostgreSQL-adatbázisban tárolja az adatokat. A mintakód egy kapcsolati sztring keresztül csatlakozik a PostgreSQL-hez. A Tárolóalkalmazás konfigurálása során az oktatóanyag végigvezeti a kapcsolati adatokat tartalmazó környezeti változók beállításán. Ugyanezt az Azure Service-Csatlakozás ort is használhatja.

Előfeltételek

Az oktatóanyag elvégzéséhez a következőkre lesz szüksége:

Mintaalkalmazás

A Python-mintaalkalmazás egy étterem-felülvizsgálati alkalmazás, amely a PostgreSQL-ben menti az éttermet és áttekinti az adatokat. Az oktatóanyag végén egy étterem-felülvizsgálati alkalmazás lesz üzembe helyezve és fut az Azure Container Appsben, amely az alábbi képernyőképhez hasonlóan néz ki.

A screenshot of the sample app created from the Python containerized web app used in the Tutorial - Containerized Python App on Azure.

Következő lépés