Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
A diagram az alábbi összetevőket tartalmazza:
-
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.
-
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.
-
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:
- A Visual Studio Code-hoz szüksége van a Container Apps bővítményre.
- Az Azure CLI-t az Azure Cloud Shell
keresztül használhatja.
Python-csomagok:
- pyscopg2-binary a PostgreSQL-hez való csatlakozáshoz.
- Flask vagy Django webes keretrendszerként.
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.