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


Oktatóanyag: Ismerje meg az áttekintési koncepciókat a Python-webalkalmazás kihelyezéséhez az Azure Container Apps-re.

Ez az oktatóanyag-sorozat bemutatja, hogyan tárolózhat tárolóba egy Python-webalkalmazást, és hogyan helyezheti üzembe Azure Container Apps. A rendszer tárolóba helyez egy minta webalkalmazást, és a Docker-rendszerképet a Azure Container Registry tárolja. 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 többféleképpen is létrehozható és üzembe helyezhető. Ez az oktatóanyag-sorozat a Azure Container Apps 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 egy Python-webalkalmazást tárolóként szeretne üzembe helyezni az Azure App Service-en, tekintse meg a Konténerizált Python webalkalmazás Azure-on MongoDB-vel.

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

  • Készítsen Docker rendszerképet egy Python webalkalmazásból, és tárolja a képet Azure Container Registry.
  • Konfigurálja Azure Container Apps a Docker-rendszerkép üzemeltetéséhez.
  • Állítsa be a GitHub Actions szolgáltatást úgy, hogy frissítse a tárolót egy új Docker-rendszerképpel, amelyet a GitHub-adattár módosításai váltanak ki. Ez a lépés nem kötelező.
  • Egy Python-webalkalmazás 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 Apps 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, GitHub adattárakat és Azure szolgáltatásokat ebben az oktatóanyag-sorozatban.

 Diagram a környezetekről és szolgáltatásokról egy Python webalkalmazás Azure Container Apps-ben való telepítéséhez.

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

  • Azure Container Apps:

    Azure Container Apps lehetővé teszi mikroszolgáltatások és tárolóalapú alkalmazások futtatását 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. A Azure Container Apps 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-képfájlokat 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. A GitHub Actions úgy is konfigurálható, hogy frissítéseket indítson el.

  • Azure Container Registry:

    Azure Container Registry lehetővé teszi a Docker-rendszerképek Azure való használatának lehetőségét. Mivel a Tárolóregisztrációs adatbázis közel van a Azure üzemelő példányaihoz, ön szabályozhatja a hozzáférést. A Microsoft Entra csoportokkal és engedélyekkel szabályozhatja a Docker-rendszerképekhez való hozzáférést.

    Ebben az oktatóanyag-sorozatban a beállításjegyzék forrása Azure Container Registry. De Docker Hub vagy privát beállításjegyzéket is használhat 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 kapcsolati adatokat a rendszer explicit módon konfigurált környezeti változókban vagy egy Azure szolgáltatás-összekötőn tárolja.

  • GitHub:

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

    A GitHub fiók nélkül is követheti ezt az oktatóanyag-sorozatot, ha helyileg vagy az Azure Cloud Shell-ben dolgozik, hogy a mintakód-adattárból létrehozza a konténerképet.

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 GitHub Actions használatával. A folyamat automatikusan létrehozza és üzembe helyezi a kódot a Container Appsben, amikor új véglegesítést küld a GitHub adattárba.

Hitelesítés és biztonság

Ebben az oktatóanyag-sorozatban közvetlenül az Azure-ban hoz létre egy Docker-tárolóképet, és üzembe helyezi azt az Azure Container Appsben. A Container Apps egy környezet környezetében fut, amelyet egy Azure virtuális hálózat támogat. Az Azure-ban a virtuális hálózatok alapvető építőelemei a magánhálózatának. 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 alkalmazást OAuth-alkalmazásként a GitHub-fiókjához. OAuth-alkalmazásként a Container Apps egy GitHub Actions munkafolyamat-fájlt ír az adattárba Azure erőforrásokra és feladatokra vonatkozó információkkal a frissítésükhöz. A munkafolyamat az Azure-erőforrásokat egy Microsoft Entra szolgáltatási főfelhasználó (vagy egy meglévő szolgáltatási főfelhasználó) hitelesítő adataival frissíti, Container Apps számára szerepköralapú hozzáféréssel, valamint az Azure Container Registry felhasználónevével és jelszavával. A hitelesítő adatokat a rendszer biztonságosan tárolja 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 connection string keresztül csatlakozik a PostgreSQL-hez. Amikor az alkalmazás Azure 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 jelszót a kapcsolati karakterláncban egy Microsoft Entra hozzáférési jogkivonattal futásidőben. Ez a mechanizmus megakadályozza a jelszó connection string vagy környezeti változóban való kemény kódolását, é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. Ugyanezt Azure szolgáltatás-összekötővel is elvégezheti.

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étrehozható:

    • Egy Azure Container Registry példány.
    • Egy 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 felülvizsgálati adatokat a PostgreSQL-ben tárolja. Az oktatóanyag-sorozat végén egy étteremértékelő alkalmazás lesz üzembe helyezve, és az Azure Container Apps-ban fog futni, amely úgy néz ki, mint az alábbi képernyőkép.

Példaalakalmazás képernyőképe egy Python tárolóalapú webalkalmazásból létrehozva.

Következő lépés