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 a cikk bemutatja, hogyan helyezhet üzembe alkalmazásokat az Azure Container Apps szolgáltatásba a Docker Compose használatával. Ez a funkció megtartja a helyileg már használt levélírási fájlt, és lehetővé teszi a Container Appsben való üzembe helyezését. A az-cli tárolóalkalmazás-bővítmény ezután lefordítja a compose fájlt Azure Container App-alkalmazásokká, és kezeli az identitásokat, a skálázást és a modell életciklusát.
Ebből a cikkből megtudhatja, hogyan:
- Az Azure Container Appsben létrehozott ügynökspecifikus erőforrások ismertetése.
- Tekintse át az Azure Container Appshez igazított minta-összeállítási fájlokat.
- Helyezzen üzembe egy levélírási fájlt az Azure CLI-vel, és ellenőrizze a környezetet.
- Problémák elhárítása és az aktuális korlátozások ismertetése.
Fontos
Az Azure Container Apps ügynökei számára a Docker Compose támogatás nyilvános előzetes verzióban érhető el. A funkciók és a viselkedés értesítés nélkül változhat.
Előfeltételek
- Az Azure CLI 2.70.0 vagy újabb verziója, a/az
containerappbővítmény1.2.0b5+ai.composeverziójával vagy annál újabbal telepítve (lásd a telepítési utasításokat). - Azure-előfizetés Azure Container Apps-erőforrások létrehozásához szükséges engedélyekkel.
- Egy Docker Compose fájl ügynökökhöz. A docker/compose-for-agents adattár mintáiból indulhat ki.
- Docker-telepítés (helyi buildhez)
- Üzembe helyezésre kész Azure Container Apps-környezet. Hozzon létre egyet
az containerapp env create, ha még nem rendelkezik környezettel. A modellek GPU-n való üzembe helyezéséhez az alábbi helyek egyikét kell kiválasztania. A cikkben használt minták feltételezik a kiszolgáló nélküli GPU használatát.
Üzembehelyezési architektúra
Futtatáskor az containerapp compose createa parancssori felület lefordítja az ügynökközpontú összeállítási elemeket a megfelelő Azure Container Apps-erőforrásokra. A Compose for Agents két kritikus összetevője a modellfuttató és az MCP-átjáró, amely a modell és az MCP-eszközök elérhetővé tételéért felelős az alkalmazás számára.
Modellkörnyezeti protokoll (MCP) eszközkészlete
Az Azure Container Apps a Docker MCP-átjárójának egy változatát futtatja saját tárolóalkalmazásként. Rendszer által hozzárendelt felügyelt identitást használ az MCP eszköztárolók dinamikus hozzáadásához vagy eltávolításához a környezetben. Ez a beállítás külön tárolóként jelenik meg az mcp-gateway alkalmazás alatt. Az MCP eszközökkel történő eszközkapcsolat kizárólag a hálózatra korlátozódik. A Stdio MCP-kiszolgálók úgy vannak kialakítva, hogy SSE-alapú MCP-kiszolgálóként fussanak az Azure Container Appsen. Az Azure Container Apps-en futó Docker for Agents jelenleg a következő Stdio MCP-kiszolgálókat támogatja: AppSignal, BigQuery, Confluence, DuckDuckGo, Fetch, Filesystem, Git, Google Drive, Jira, MongoDB, MySQL, Notion, Playwright, PostgreSQL, SequentialThinking, Slack, SQLite, Supabase, Time, Twist.
Models
A modellek a Docker modellfuttatóján keresztül lesznek kiszolgálva. Az Azure Container Appsben a modellalkalmazás részeként üzembe helyezett modellfuttató konfigurációs tároló kezeli a konfigurációt. Ez biztosítja a megfelelő modell lekérését és konfigurálását, mielőtt az alkalmazás használhatja. A konfigurációt a rendszer a változón keresztül továbbítja a modellkonfigurációs tárolónak MODEL_CONFIG .
Fájlok írása
Ugyanazt a levélírási fájlt használhatja a helyi fejlesztéshez és üzembe helyezéshez. E cél elérése érdekében adja hozzá az x-azure-deployment irányelvet. A Docker Compose figyelmen kívül hagyja ezt az irányelvet, de az Azure Container Apps üzembe helyezése során használja. Íme néhány használatra kész minta , amelyeket áttekinthet. Ezek a minták közös szakaszokkal rendelkeznek mind a kiszolgáló nélküli GPU esetében, mind az mcp-gateway Azure Container Apps-verziójának üzembe helyezéséhez.
services:
...
models:
gemma:
model: ai/gemma3-qat
# run the models on serverless GPU workload profile
x-azure-deployment:
workloadProfiles:
workloadProfileType: Consumption-GPU-NC8as-T4
serivces:
mcp-gateway:
...
# use the Azure Container Apps flavored image for the mcp-gateway
x-azure-deployment:
image: acateam.azurecr.io/preview-ai-compose/mcp-gateway:latest
...
models:
...
További x-azure-deployment lehetőségek:
x-azure-deployment:
image: ghcr.io/example/app:custom-build
resources:
cpu: 1.0
memory: 2
scale:
maxReplicas: 1
minReplicas: 1
ingress:
external: true
allowInsecure: false
Telepítés és használat
Kövesse az alábbi lépéseket a környezet beállításához és az alkalmazások üzembe helyezéséhez a meglévő levélírási fájlok használatával.
A Compose telepítése ügynökökhöz
Ebben a szakaszban ez a funkció két csomag telepítését igényli. A telepítés után ezek a csomagok biztosítják a magyarázható képességeket. Kövesse az alábbi lépéseket:
# remove the existing container apps extension
az extension remove --name containerapp
# install the pycomposefile module and the preview extension for containerapps
pip install "https://raw.githubusercontent.com/microsoft/azure-container-apps/main/preview/ai-compose/az-extension/release-1.2.0b5+ai.compose-py2.py3-none-any/pycomposefile-0.0.32-py3-none-any.whl"
az extension add --source "https://raw.githubusercontent.com/microsoft/azure-container-apps/main/preview/ai-compose/az-extension/release-1.2.0b5+ai.compose-py2.py3-none-any/containerapp-1.2.0b5+ai.compose-py2.py3-none-any.whl" --yes
# check of the extension is installed (should show 1.2.0b5+ai.compose)
az extension show --name containerapp --query version -o tsv
# you are ready to use the extension
az containerapp compose --help
A Compose használata ügynökök számára
Kezdje az itt található egyik előkészített fájllal. Ezután kövesse az utasításokat:
# define the needed variables
export LOCATION=westus2
export RESOURCE_GROUP=rg-compose-for-agents
export ENV_NAME=ai-app-env
export COMPOSE=compose-aca.yml
# create the resource group
az group create --name $RESOURCE_GROUP --location $LOCATION &&
# create the Azure Container Apps environment
az containerapp env create \
--name $ENV_NAME \
--resource-group $RESOURCE_GROUP \
--location $LOCATION
# deploy your compose file
az containerapp compose create \
--compose-file-path $COMPOSE \
--resource-group $RESOURCE_GROUP \
--environment $ENV_NAME
Az ügynök beállításainak alapértelmezett beállításai
Az explicit ügynökbeállítások nélkül létrehozott alkalmazások a következő alapértelmezett értékeket kapják:
-
DiscoveryMode=Auto, amely automatikusan észleli az ügynök képességeit és függőségeit. -
IsAgent=false, amely azt jelzi, hogy az alkalmazás csak akkor működik ügynökként, ha kifejezetten így van konfigurálva.
Ezek az alapértelmezett értékek konzisztens viselkedést biztosítanak a környezet összes tárolóalkalmazásához.
Eltávolítás és visszaállítás
A tárolóalkalmazás-bővítmény stabil kiadására való visszaváltás:
# remove the current extension
az extension remove --name containerapp
# reinstall and confirm stable install
az extension install --name containerapp
az extension show --name containerapp --query version -o tsv
Ismert problémák és hibaelhárítás
Időnkénti kép rendelkezésre állási késések: Előfordulhat, hogy egy helyileg létrehozott rendszerkép nem érhető el azonnal a platformon. Telepítse újra vagy indítsa újra az alkalmazást a probléma megoldásához. A hiba a következőképpen néz ki:
Failed to provision revision for container app 'app'. Error details: The following field(s) are either invalid or missing. Field 'template.containers.app.image' is invalid with details: 'Invalid value: "acateam.azurecr.io/preview-ai-compose/samples/spring-ai-app:latest": GET https:: MANIFEST_UNKNOWN: manifest tagged by "latest" is not found; map[Tag:latest]'Felügyelt identitással kapcsolatos problémák: Újratelepítés során megjelenhet ez az üzenet. Ez a hiba azért fordul elő, mert az identitás újra van rendelve az mcp-gatewayhez. Hagyja figyelmen kívül az üzenetet, ha az átjáró megfelelően működik.
⚠️ Could not automatically assign role: AADSTS53003: Access has been blocked by Conditional Access policies. The access policy does not allow token issuance.Nem elérhető átjáró URL-címei: Ellenőrizze, hogy az átjáró gazdagépneve kihagyja-e a portszámot, és megegyezik-e a beszúrt
MCP_GATEWAY_URLértékkel. Ne állítsa be manuálisan az üzembe helyezés során eltávolított portokat.MCP-átjáróeszköz: Ellenőrizze, hogy az mcp-gateway alkalmazás több tárolót is üzembe helyezett-e. Ha igen, a dolgoknak megfelelően kell működnie.
Ki nem helyezett modellek: Tekintse át az
model-runner-configalkalmazás tárolónaplóit, és ellenőrizze,modelshogy vannak-e hitelesítési problémák a modellek lekérésekor. Az elérhető modelleket lekérhetjük, ha futtatjuk acurl http://YOUR_MODELS_ENDPOINT/modelsparancsot.Jelentéskészítési problémák: A bővítménysel kapcsolatos problémák jelentése a hivatalos Container Apps GitHubon.
Előzetes verzióra vonatkozó korlátozások
Figyelmeztetés
Ezek a korlátozások a nyilvános előzetes verzióban érvényesek, és az általános rendelkezésre állás előtt változhatnak.
- Kompozíciós fájlonként csak egy SSE-alapú MCP-burkoló támogatott.
- A kötetek és hálózatok jelenleg nem támogatottak.
- A naplóüzenetek nem mindig helyesek.