Tároló összeállítási és üzembe helyezési munkafolyamatának kiválasztása

Azure fejlesztői parancssori felület (azd) tárolólemezképeket hozhat létre, tehet közzé és helyezhet üzembe több Azure üzemeltetési szolgáltatásban. A konténer-munkafolyamat egy üzemeltetési célt, egy fordítási helyet és egy közzétételi módot kombinál. A legjobb kombináció az alkalmazástól, a csapata rendelkezésére álló eszközöktől, valamint attól függ, hogyan lépteti elő a képeket a környezetek között.

Ez a cikk az igényeinek megfelelő választásokat ismerteti. Összehasonlítja a következő döntéseket:

  • Melyik Azure szolgáltatás üzemelteti a tárolót.
  • Attól függően, hogy a azd helyileg hozza létre a rendszerképet, távolról az Azure Container Registryben (ACR) hozza létre, vagy egy meglévő rendszerképet használ.
  • Hogy a azd a rendszerképet együtt vagy külön lépésekben teszi-e közzé és telepíti.

A cikk az alábbi általános célú üzemeltetési szolgáltatásokat hasonlítja össze:

Először hasonlítsa össze az üzemeltetési célokat és a rendszerkép-összeállítási lehetőségeket. Miután megismerte ezeket a lehetőségeket, azokkal azonosíthat egy jelölt munkafolyamatot a Tárolótelepítési munkafolyamatok összehasonlítása szakaszban.

Tároló-üzemeltetési célok összehasonlítása

A host benne lévő azure.yaml tulajdonság azonosítja a tárolót üzembe helyező azd Azure szolgáltatást. Válassza ki a gazdagépet a rendszerkép létrehozási helyétől függetlenül.

Host értéke Azure üzemeltetési cél Konténer-munkafolyamat Considerations
containerapp Azure Container Apps és Container Apps feladatai Létrehozás projektből és Dockerfile-ból, vagy előre elkészített rendszerkép telepítése. Támogatja a szolgáltatásszintű környezeti változókat és a Container Apps-specifikus üzembehelyezési stratégiákat. Használja ugyanazt a gazdagép értéket a Container Apps-feladatok esetén.
appservice Linuxos webalkalmazás tárolókhoz az Azure App Service-ben Létrehozás projektből és Dockerfile-ból, vagy előre elkészített lemezkép üzembe helyezése. Az infrastruktúrának ki kell állítania egy linuxos tárolóra kész helyet, és konfigurálnia kell a felügyelt identitás hozzáférését az ACR-hez. azd deploy csak a képhivatkozást frissíti.
aks Azure Kubernetes Service Hozzon létre egy képet, és telepítse a Kubernetes-jegyzékeket, a Helm-diagramokat vagy a Kustomize-konfigurációkat. A legnagyobb fokú vezérlést biztosítja, de megköveteli a fürt és a Kubernetes-konfiguráció kezelését. A azd Helm vagy Kustomize eszközzel való használatához engedélyezni kell az alfa funkciójelzőket.

A azure.ai.agent és ai.endpoint gazdagépek szintén támogatják a Docker-konfigurációt speciális Microsoft Foundry-használati esetekhez. Ezekhez a számítási feladatokhoz lásd: Üzembe helyezés Microsoft Foundry online végpontokon és a Microsoft Foundry-ügynök bővítményében.

Kép összeállítási beállításainak összehasonlítása

A szolgáltatásdefiníció határozza meg, hogy a(z) azd lemezképet épít-e, vagy egy meglévő lemezképből indul.

Összeállítási lehetőség Szükséges konfiguráció A build futtatásának helye Helyi konténermotor A legjobban alkalmas
Helyi build project és opcionálisan docker Az Ön fejlesztési környezete vagy CI-futtatója Szükséges Gyors fejlesztési iterációk és olyan környezetek létrehozása, amelyek már biztosítják a Dockert vagy a Podmant.
ACR távoli build project és docker.remoteBuild: true Azure Container Registry Nem szükséges, kivéve, ha azd egy távoli buildhiba után visszaáll Konzisztens felhőbeli buildek és környezetek helyi tárolómotor nélkül. A dokumentált távoli buildelési munkafolyamat az Azure Container Appsre irányul.
Meglévő rendszerkép kezelése: azd image Nincs forrás build Szükség lehet a rendszerkép életciklusával kapcsolatos műveletekhez Azok a helyileg vagy egy regiszterben már meglévő lemezképek, amelyeket a azd le tud kérni, címkézni és fel tud tölteni.
Távoli képtovábbítás image és docker.imagePassthrough: true Nincs buildverzió Nem kötelező Teljesen minősített távoli lemezképek, amelyeket a gazdaerőforrásnak változtatás nélkül kell használnia.

A beállításonkénti konfigurációs cikkek elolvasásakor tartsa szem előtt ezeket az elméleti különbségeket:

  • Az előre összeállított rendszerkép a image tulajdonságot használja a project helyett, és a azd továbbra is le tudja kérni, címkézni és fel tudja tölteni azt.
  • A távoli ACR-buildek egy helyi Docker- vagy Podman-buildre esnek vissza, ha a távoli build meghiúsul, és elérhető egy támogatott tárolómotor.
  • A képtovábbításhoz teljesen minősített távoli képhivatkozás szükséges, amely tartalmaz egy regisztert; nem kombinálható a(z) remoteBuild beállítással, és nem támogatja a azd publish --from-package vagy azd publish --to beállítást, mert a(z) azd nem kezeli a képet.

Az egyes beállítások teljes konfigurálását a távoli buildek támogatása Azure Container Registry, külső tárolóregisztrációs adatbázisok használata, az App Service-tárolótelepítések Azure fejlesztői parancssori felülettel és a docker séma használatával című témakörben találhatja meg.

Tárolótelepítési munkafolyamatok összehasonlítása

Miután összehasonlította a tároló üzemeltetési céljainak összehasonlításában szereplő üzemeltetési célokat és a rendszerképek összeállítási beállításainak összehasonlításában szereplő összeállítási beállításokat, az alábbi táblázat segítségével azonosíthatja az igényeinek leginkább megfelelő munkafolyamatokat.

Ha szükséges Kezdje ezzel Miért
Tárolóalapú alkalmazás üzembe helyezése kiszolgáló nélküli platformon Azure Container Apps helyi összeállítással Ez a munkafolyamat egy Dockerfile-alapú projektet hoz létre és helyez üzembe egy fejlesztési munkafolyamatban.
Építés a Docker vagy a Podman helyi telepítése nélkül Azure Container Apps távoli ACR-builddel Az ACR az Azure-ban a projektből és a Dockerfile-ból hozza létre a lemezképet.
Egy másik buildrendszer által előállított rendszerkép üzembe helyezése Azure Container Apps vagy App Service előre összeállított képpel A image tulajdonság a buildelendő forráskód helyett a meglévő rendszerképet azonosítja.
Használjon fel újra egy távoli rendszerképet anélkül, hogy lekérné, címkézné vagy feltöltené Azure Container Apps közvetlen képtovábbítással azd közvetlenül a gazdaerőforrásnak továbbítja a teljesen minősített lemezképhivatkozást.
Hagyományos webalkalmazás futtatása Linux-tárolóként Tárolókhoz készült webalkalmazás az Azure App Service-ben Az App Service egy integrált web hosting platformot biztosít, miközben az infrastruktúra szabályozza a tárolóra kész hely konfigurációját.
Kubernetes-manifesztumok és a fürtkonfiguráció kezelése Azure Kubernetes Service (AKS) azd létrehozhatja és közzéteheti a rendszerképet, majd üzembe helyezheti a Kubernetes-jegyzékeket, a Helm-diagramokat vagy a Kustomize-konfigurációkat.
Hozza létre egyszer, és ugyanazt az image-et léptesse tovább a környezetek között azd publish, majd azd deploy --from-package A közzététel és az üzembe helyezés külön történik, így minden környezet ugyanazt a rendszerképet kapja.

Minden sor a tároló-üzemeltetési célok összehasonlítása elem üzemeltetési lehetőségeit és a rendszerkép-létrehozási lehetőségek összehasonlítása elem buildelési lehetőségeit egyesíti, kiindulási pontként. Adja meg a választását a azure.yaml területen, és hagyja, hogy a Bicep- vagy Terraform-fájljai kiépítsék a megfelelő üzemeltetési és tárolóregiszter-erőforrásokat.

A minimális szolgáltatásdefiníció beállítja a host elemet, a buildforrást és a Dockerfile-t:

services:
  api:
    project: ./src/api
    language: docker
    host: containerapp
    docker:
      path: ./Dockerfile

Ha ezt a definíciót egy másik gazdagéphez szeretné igazítani, módosítsa az host értéket, és kövesse az állomásonkénti konfigurációs szerződést:

Közzétételi és üzembehelyezési parancsok összehasonlítása

Miután kiválasztotta a hosztot és a buildbeállítást, válassza ki, hogy a lemezkép közzétételét és a telepítést egyesíti, vagy külön kezeli.

Command Képműveletek Azure erőforrásművelet Használja amikor
azd up Fordítás és feltöltés Kiépítés és üzembe helyezés Létre szeretné hozni vagy frissíteni szeretné a teljes környezetet, és egyetlen munkafolyamatban szeretné üzembe helyezni az alkalmazást.
azd deploy Összeállítás és feltöltés Üzembe helyezés Az infrastruktúra már létezik, és alkalmazásmódosításokat szeretne üzembe helyezni.
azd publish Fordítás és feltöltés Nincs Egy beállításjegyzékbeli összetevőt szeretne létrehozni anélkül, hogy üzembe helyezné. azd publish támogatja a Container Apps és az AKS-szolgáltatásokat.
azd publish --from-package <image> Meglévő helyi kép feltöltése Nincs Egy másik folyamat építette ki a képet, amelyet közzé szeretne azd tenni.
azd deploy --from-package <image> Nincs Üzembe helyezés Egy adott rendszerképet újraépítés nélkül szeretne üzembe helyezni.

Közzétehet például egy verziószámozott lemezképet, és üzembe helyezheti ugyanazt a lemezképet egy másik környezetben:

azd publish api --to myregistry.azurecr.io/my-api:v1.0.0
azd env select production
azd deploy api --from-package myregistry.azurecr.io/my-api:v1.0.0

Ez a munkafolyamat megakadályozza az egyes környezetek rendszerképeinek újraépítése során fellépő különbségeket. A teljes előléptetési munkafolyamatért tekintse meg Azure fejlesztői parancssori felület közzétételi munkafolyamatait.