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


Oktatóanyag: A Python-webalkalmazások Azure Container Appsben való üzembe helyezésének áttekintési fogalmai

Ez az oktatóanyag-sorozat bemutatja, hogyan tárolózhat egy Python-webalkalmazást, és hogyan helyezheti üzembe azt Azure Container Apps. A rendszer tárolóba helyez egy minta webalkalmazást, és a Docker-rendszerképet Azure Container Registrytá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 Azure Database for PostgreSQL csatlakozik a Container Apps és más Azure-erőforrások közötti kommunikáció bemutatásához.

A felhőalapú natív és tárolóalapú Python-webalkalmazások azure-beli létrehozására és üzembe helyezésére számos lehetőség áll rendelkezésre. Ez az oktatóanyag-sorozat 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óanyag-sorozatban létrehoz egy tárolót. Ha tárolóként szeretne üzembe helyezni egy Python-webalkalmazást az Azure App Service-ben, tekintse meg a Tárolóalapú Python-webalkalmazást az Azure-ban a MongoDB.

Az oktatóanyag-sorozat eljárásai az alábbi feladatok elvégzését ismertetik:

  • Hozzon létre egy Docker képet egy Python-webalkalmazásból, és tárolja a képet az Azure Container Registryben.
  • Konfigurálja Azure Container Apps a Docker-rendszerkép üzemeltetéséhez.
  • Állítsa be a GitHub Actions-t úgy, hogy a GitHub-adattár módosításai egy új Docker-kép segítségével frissítsék a tárolót. Ez a lépés nem kötelező.
  • Python-webalkalmazások folyamatos integrációjának és folyamatos kézbesítésének (CI/CD) beállítása az Azure-ba.

A sorozat első részében megismerheti a Python-webalkalmazások Azure Container Appsen való üzembe helyezésének alapvető fogalmait.

A szolgáltatás áttekintése

Az alábbi ábra bemutatja, hogyan fogja használni a helyi környezetet, a GitHub-adattárakat és az Azure-szolgáltatásokat ebben az oktatóanyag-sorozatban.

Python-webalkalmazás Azure Container Appsben való üzembe helyezéséhez használható környezetek és szolgáltatások diagramja.

A diagram az alábbi összetevőket tartalmazza:

  • Azure Container Apps:

    Az Azure Container Apps lehetővé teszi mikroszolgáltatások és tárolóalapú alkalmazások kiszolgáló nélküli platformon való futtatását. 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 Container Registry közel van az Azure-ben üzemeltetett példányokhoz, Ön szabályozhatja a hozzáférést. A Microsoft Entra-csoportokkal és engedélyekkel szabályozhatja a Docker-képekhez való hozzáférést.

    Ebben az oktatóanyag-sorozatban a beállításjegyzék forrása az Azure Container Registry. De használhatja a Docker Hubot vagy egy magánregisztrációs adatbázist is kisebb módosításokkal.

  • Azure Database for PostgreSQL:

    A mintakód egy PostgreSQL-adatbázisban tárolja az alkalmazásadatokat. A tárolóalkalmazás egy felhasználó által hozzárendelt felügyelt identitáshasználatával csatlakozik a PostgreSQL-hez. A kapcsolatadatokat a rendszer explicit módon konfigurált környezeti változókban vagy egy Azure-szolgáltatás-összekötőntárolja.

  • GitHub:

    Az oktatóanyag-sorozat mintakódja egy GitHub-adattárban található, amelyet helyileg ágaztasson el és klónozzon. Ha ci/CD-munkafolyamatot szeretne beállítani GitHub Actions, szüksége van egy GitHub-fiókra.

    Továbbra is követheti ezt az oktatóanyag-sorozatot GitHub-fiók nélkül, ha helyileg vagy Azure Cloud Shell- dolgozik a tárolórendszerkép létrehozásához a mintakód-adattárból.

Változatok és CI/CD

Ha módosítani szeretné a kódokat, és le szeretné küldeni őket egy tárolóba, hozzon létre egy új Docker-rendszerképet a módosításokkal. Ezután feltölti a lemezképet a Container Registrybe, és létrehoz egy új revíziót a konténeralkalmazásból.

A folyamat automatizálásához az oktatóanyag-sorozat egyik opcionális lépése bemutatja, hogyan hozhat létre CI/CD-folyamatot a GitHub Actions használatával. A folyamat automatikusan létrehozza és üzembe helyezi a kódot a Container Appsben, amikor egy új véglegesítést leküld a GitHub-adattárba.

Hitelesítés és biztonság

Ebben az oktatóanyag-sorozatban egy Docker-tárolórendszerképet hozhat létre közvetlenül az Azure-ban, és üzembe helyezheti az Azure Container Appsben. A Container Apps egy környezetben fut,, amelyet egy Azure-beli virtuális hálózatitá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 CI/CD beállításához engedélyezi az Azure Container Apps 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 egy 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 Registryhez tartozó felhasználónévvel és jelszóval. A hitelesítő adatok biztonságosan vannak tárolva a GitHub-adattárban.

Végül az oktatóanyag-sorozatban szereplő minta webalkalmazás egy PostgreSQL-adatbázisban tárolja az adatokat. A mintakód egy kapcsolati sztringen keresztül csatlakozik a PostgreSQL-hez. Amikor az alkalmazás az Azure-ban fut, egy felhasználó által hozzárendelt felügyelt identitással csatlakozik a PostgreSQL-adatbázishoz. A kód a DefaultAzureCredential használatával dinamikusan frissíti a kapcsolati karakterlánc jelszavát egy Microsoft Entra hozzáférési tokennel futásidőben. Ez a mechanizmus megakadályozza, hogy a jelszót a kapcsolati sztringben vagy egy környezeti változóban kódolja, és további biztonsági réteget biztosít.

Az oktatóanyag-sorozat végigvezeti a felügyelt identitás létrehozásának és megfelelő PostgreSQL-szerepkörök és engedélyek megadásán, hogy hozzáférhessen és frissíthesse az adatbázist. A Container Apps konfigurálása során az oktatóanyag-sorozat végigvezeti az alkalmazás felügyelt identitásának konfigurálásán, valamint az adatbázis kapcsolati adatait tartalmazó környezeti változók beállításán. Az Azure szolgáltatásösszekötőt is használhatja ugyanezen feladat elvégzéséhez.

Előfeltételek

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

  • Egy Azure-fiók, ahol létrehozhatja a következőt:

    • Egy Azure Container Registry-példány.
    • Azure Container Apps-környezet.
    • Egy Azure Database for PostgreSQL-példány.
  • Visual Studio Code vagy a Azure CLI, attól függően, hogy milyen eszközt használ:

  • Python-csomagok:

Mintaalkalmazás

A Python-mintaalkalmazás egy étteremértékelő alkalmazás, amely az étterem- és értékelési adatokat menti a PostgreSQL-ben. Az oktatóanyag-sorozat 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.

Python-tárolóalapú webalkalmazásból létrehozott mintaalkalmazás képernyőképe.

Következő lépés