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.
Ebből a cikkből megtudhatja, hogyan használhat szabályalapú útválasztást az Azure Container Apps használatával. A szabályalapú útválasztás segítségével egy teljes tartománynevet (FQDN) hozhat létre a tárolóalkalmazások környezetében. Ezután szabályokkal irányíthatja a teljes tartománynévre vonatkozó kéréseket különböző tárolóalkalmazásokba az egyes kérések elérési útjától függően.
Előfeltételek
Aktív előfizetéssel rendelkező Azure-fiók.
- Ha még nem rendelkezik fiókkal, ingyen létrehozhat egyet.
Telepítse az Azure CLI-t.
Beállítás
Futtassa a következő parancsot, hogy jelentkezzen be az Azure-ba a parancssori felületről.
az loginA parancssori felület legújabb verziójának futtatásához futtassa a frissítési parancsot.
az upgradeA jelenleg használt modulokra vonatkozó figyelmeztetések figyelmen kívül hagyása.
Most, hogy az aktuális bővítmény vagy modul telepítve van, regisztrálja a
Microsoft.AppésMicrosoft.OperationalInsightsnévtereket.az provider register --namespace Microsoft.Appaz provider register --namespace Microsoft.OperationalInsights
Környezeti változók létrehozása
Hozza létre a következő környezeti változókat.
CONTAINER_APP_1_NAME="my-container-app-1"
CONTAINER_APP_1_IMAGE="mcr.microsoft.com/k8se/quickstart:latest"
CONTAINER_APP_1_TARGET_PORT="80"
CONTAINER_APP_2_NAME="my-container-app-2"
CONTAINER_APP_2_IMAGE="mcr.microsoft.com/dotnet/samples:aspnetapp"
CONTAINER_APP_2_TARGET_PORT="8080"
LOCATION="eastus"
RESOURCE_GROUP="my-container-apps"
ENVIRONMENT_NAME="my-container-apps-env"
ROUTE_CONFIG_NAME="my-route-config"
Tárolóalkalmazások létrehozása
Futtassa az alábbi parancsot az első tárolóalkalmazás létrehozásához. Ez a tárolóalkalmazás a Container Apps gyorsindítás képfájlát használja.
az containerapp up \ --name $CONTAINER_APP_1_NAME \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --environment $ENVIRONMENT_NAME \ --image $CONTAINER_APP_1_IMAGE \ --target-port $CONTAINER_APP_1_TARGET_PORT \ --ingress external \ --query properties.configuration.ingress.fqdnFuttassa a következő parancsot a második tárolóalkalmazás létrehozásához. Ez a konténer alkalmazás az ASP.NET gyorsindítású lemezképét használja.
az containerapp up \ --name $CONTAINER_APP_2_NAME \ --resource-group $RESOURCE_GROUP \ --location $LOCATION \ --environment $ENVIRONMENT_NAME \ --image $CONTAINER_APP_2_IMAGE \ --target-port $CONTAINER_APP_2_TARGET_PORT \ --ingress external \ --query properties.configuration.ingress.fqdnHTTP-útvonalkonfiguráció létrehozása.
Hozza létre a következő fájlt, és mentse a fájlként
routing.yml.rules: - description: App 1 rule routes: - match: prefix: /app1 action: prefixRewrite: / targets: - containerApp: my-container-app-1 - description: App 2 rule routes: - match: path: /app2 action: prefixRewrite: / - match: path: / targets: - containerApp: my-container-app-2Ez a konfiguráció két útválasztási szabályt határoz meg a HTTP-forgalomhoz.
Megjegyzés:
Az útválasztási szabályok sorrendje számít.
A pontosabb előtagokat a kevésbé specifikus előtagok előtt kell megadni.
Ha például az első szabály egyezik az /api előtaggal, akkor is használható lesz, ha a második szabály az /api/v1 előtagot használja.
Ingatlan Leírás descriptionA szabály emberi olvasásra alkalmas címkéje routes.match.prefixA megegyező URL-elérési út előtagja. Például: /api.routes.action.prefixRewriteMire cserélje le a megfeleltethető előtagot a továbbítás előtt? targets.containerAppAnnak a tárolóalkalmazásnak a neve, amelyben a rendszer elküldi az egyező útvonalkérést. Ezek a szabályok lehetővé teszik, hogy a tartomány különböző elérési útjai különböző tárolóalkalmazásokhoz irányozzanak, miközben a kérelem elérési útját is módosítják, mielőtt elérik a célalkalmazást.
A listán nem szereplő egyéb tulajdonságok, amelyek hatással lehetnek az útvonalakra, a következők.
Ingatlan Leírás route.match.pathAz elérési út pontos definíciója. route.match.pathSeparatedPrefixA szöveg helyett a "/" határvonalon lévő útvonalakat felelteti meg. Ha például az értéket a következőre /productállítja be, akkor az egyezik/product/1értékkel, de nem/product1értékkel.route.match.caseSensitiveMeghatározza, hogy az útvonalminták megfelelnek-e a kis- és nagybetűk érzékenységének. target.labelÚtvonal egy adott címkével ellátott változathoz egy tárolóalkalmazáson belül. target.revisionEgy specifikus verzió útvonala egy tárolóalkalmazáson belül. Futtassa a következő parancsot a HTTP-útvonal konfigurációjának létrehozásához.
az containerapp env http-route-config create \ --http-route-config-name $ROUTE_CONFIG_NAME \ --resource-group $RESOURCE_GROUP \ --name $ENVIRONMENT_NAME \ --yaml routing.yml \ --query properties.fqdnA HTTP-útvonal konfigurációjának teljes tartományneve (FQDN) a következő példához hasonlóan néz ki:
my-route-config.ambitiouspebble-11ba6155.eastus.azurecontainerapps.io
Győződjön meg arról, hogy mindkét tárolóalkalmazás már létezik.
Hozza létre a következő Bicep-fájlt, és mentse el
routing.bicepnéven.resource containerAppsEnvironment 'Microsoft.App/managedEnvironments@2024-10-02-preview' = { name: 'my-container-apps-env' location: 'eastus' tags: {} properties: { workloadProfiles: [ { workloadProfileType: 'Consumption' name: 'Consumption' } ] } } resource httpRouteConfig 'Microsoft.App/managedEnvironments/httpRouteConfigs@2024-10-02-preview' = { parent: containerAppsEnvironment name: 'my-route-config' location: 'eastus' properties: { rules: [ { description: 'App 1 rule' routes: [ { match: { prefix: '/app1' } action: { prefixRewrite: '/' } } ] targets: [ { containerApp: 'my-container-app-1' } ] } { description: 'App 2 rule' routes: [ { match: { path: '/app2' } action: { prefixRewrite: '/' } } { match: { path: '/' } } ] targets: [ { containerApp: 'my-container-app-2' } ] } ] } } output fqdn string = httpRouteConfig.properties.fqdnTelepítse a Bicep-fájlt a következő paranccsal:
az deployment group create ` --name $ROUTE_CONFIG_NAME ` --resource-group $RESOURCE_GROUP ` --template-file routing.bicepA kimenetben keresse meg a
outputs, amely tartalmazza a HTTP-útvonal konfigurációjának teljes tartománynevét (FQDN). Például:"outputs": { "fqdn": { "type": "String", "value": "my-route-config.ambitiouspebble-11ba6155.eastus.azurecontainerapps.io" } },
HTTP-útvonal konfigurációjának ellenőrzése
Nyissa meg a HTTP útvonalkonfiguráció FQDN-jét a
/app1elérési úttal.Például:
my-route-config.ambitiouspebble-11ba6155.eastus.azurecontainerapps.io/app1.Megjelenik a Container Apps rövid útmutató képe.
Nyissa meg a HTTP útvonalkonfiguráció FQDN-jét a
/app2elérési úttal.Például:
my-route-config.ambitiouspebble-11ba6155.eastus.azurecontainerapps.io/app2.Láthatod az ASP.NET rövid útmutató képét.
Erőforrások tisztítása
Ha nem folytatja az alkalmazás használatát, futtassa az alábbi parancsot az erőforráscsoport és az ebben a rövid útmutatóban létrehozott összes erőforrás törléséhez.
Figyelmeztetés
Az alábbi parancs törli a megadott erőforráscsoportot és a benne lévő összes erőforrást. Ha a rövid útmutató hatókörén kívül eső erőforrások szerepelnek a megadott erőforráscsoportban, akkor azok is törlődnek.
az group delete --name my-container-apps