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


Oktatóanyag: Tárolóalkalmazás skálázása

Az Azure Container Apps deklaratív skálázási szabályokon keresztül kezeli az automatikus horizontális skálázást. A tárolóalkalmazás felskálázása során a tárolóalkalmazás új példányai igény szerint jönnek létre. Ezeket a példányokat replikáknak nevezzük.

Ebben az oktatóanyagban egy HTTP-méretezési szabályt ad hozzá a tárolóalkalmazáshoz, és megfigyelheti, hogyan skálázható az alkalmazás.

Előfeltételek

Követelmény Utasítások
Azure-fiók Ha nem rendelkezik Azure-fiókkal, ingyenesen létrehozhat egyet.

A folytatáshoz az Azure-előfizetés közreműködői engedélyére van szüksége. Részletekért tekintse meg az Azure-szerepkörök hozzárendelését az Azure Portalon .
GitHub-fiók Szerezz egyet ingyen.
Azure CLI Telepítse az Azure CLI-t.

Beállítás

Ha a parancssori felületről szeretne bejelentkezni az Azure-ba, futtassa a következő parancsot, és kövesse az utasításokat a hitelesítési folyamat befejezéséhez.

az login

A parancssori felület legújabb verziójának futtatásához futtassa a frissítési parancsot.

az upgrade

Ezután telepítse vagy frissítse az Azure Container Apps bővítményt a parancssori felülethez.

Ha hibaüzenetet kap a hiányzó paraméterekről, amikor parancsokat futtat az Azure CLI-ben, vagy parancsmagokat futtat az containerapp az Az.App Azure PowerShell modulból, győződjön meg arról, hogy telepítve van az Azure Container Apps bővítmény legújabb verziója.

az extension add --name containerapp --upgrade

Feljegyzés

2024 májusától kezdődően az Azure CLI-bővítmények alapértelmezés szerint nem engedélyezik az előzetes verziójú funkciókat. A Container Apps előzetes verziójú funkcióinak eléréséhez telepítse a Container Apps bővítményt a következővel --allow-preview true: .

az extension add --name containerapp --upgrade --allow-preview true

Az aktuális bővítmény vagy modul telepítése után regisztrálja a névtereket és Microsoft.OperationalInsights a Microsoft.App névtereket.

Feljegyzés

Az Azure Container Apps-erőforrások át lettek migrálva a Microsoft.Web névtérből a Microsoft.App névtérbe. További részletekért tekintse meg a Névtér 2022 . márciusi migrálását a Microsoft.Web-ből a Microsoft.App.

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

A tárolóalkalmazás létrehozása és üzembe helyezése

Hozza létre és telepítse a tárolóalkalmazást a containerapp up paranccsal. Ez a parancs a következőket hozza létre:

  • Erőforráscsoport
  • Container Apps-környezet
  • Log Analytics-munkaterület

Ha ezek közül az erőforrások közül bármelyik már létezik, a parancs a meglévő erőforrásokat használja az újak létrehozása helyett.

Végül a parancs létrehozza és üzembe helyezi a tárolóalkalmazást egy nyilvános tárolórendszerkép használatával.

az containerapp up \
  --name my-container-app \
  --resource-group my-container-apps \
  --location centralus \
  --environment 'my-container-apps' \
  --image mcr.microsoft.com/k8se/quickstart:latest \
  --target-port 8080 \
  --ingress external \
  --query properties.configuration.ingress.fqdn \

Feljegyzés

Győződjön meg arról, hogy a --image paraméter értéke kisbetűs.

A beállítással --ingress externalelérhetővé teszi a tárolóalkalmazást a nyilvános kérések számára.

A up parancs a tárolóalkalmazás teljes tartománynevét (FQDN) adja vissza. Másolja ezt a teljes tartománynevet egy szövegfájlba. Ezt a Kérések küldése szakaszban fogja használni. A teljes tartománynév a következő példához hasonlóan néz ki:

https://my-container-app.icydune-96848328.centralus.azurecontainerapps.io

Méretezési szabály hozzáadása

A parancs futtatásával adjon hozzá EGY HTTP-méretezési szabályt a az containerapp update tárolóalkalmazáshoz.

az containerapp update \
	--name my-container-app \
	--resource-group my-container-apps \
    --scale-rule-name my-http-scale-rule \
    --scale-rule-http-concurrency 1

Ez a parancs egy HTTP-méretezési szabályt ad hozzá a tárolóalkalmazáshoz a névvel my-http-scale-rule és az egyidejűség beállításával 1. Ha az alkalmazás több egyidejű HTTP-kérést kap, a futtatókörnyezet létrehozza az alkalmazás replikáit a kérések kezeléséhez.

A update parancs JSON-válaszként adja vissza az új konfigurációt, hogy ellenőrizze a kérés sikerességét.

Naplókimenet indítása

Az alkalmazás skálázásának hatásait a Container Apps-futtatókörnyezet által létrehozott naplók megtekintésével tekintheti meg. az containerapp logs show A parancs használatával elkezdhet figyelni a naplóbejegyzéseket.

az containerapp logs show \
	--name my-container-app \
	--resource-group my-container-apps \
	--type=system \
	--follow=true

A show parancs valós időben adja vissza a tárolóalkalmazás rendszernaplóinak bejegyzéseit. A következő példához hasonló válaszra számíthat:

{
	"TimeStamp":"2023-08-01T16:49:03.02752",
	"Log":"Connecting to the container 'my-container-app'..."
}
{
	"TimeStamp":"2023-08-01T16:49:03.04437",
	"Log":"Successfully Connected to container:
	'my-container-app' [Revision: 'my-container-app--9uj51l6',
	Replica: 'my-container-app--9uj51l6-5f96557ffb-5khg9']"
}
{
	"TimeStamp":"2023-08-01T16:47:31.9480811+00:00",
	"Log":"Microsoft.Hosting.Lifetime[14]"
}
{
	"TimeStamp":"2023-08-01T16:47:31.9481264+00:00",
	"Log":"Now listening on: http://[::]:8080"
}
{
	"TimeStamp":"2023-08-01T16:47:31.9490917+00:00",
	"Log":"Microsoft.Hosting.Lifetime[0]"
}
{
	"TimeStamp":"2023-08-01T16:47:31.9491036+00:00",
	"Log":"Application started. Press Ctrl+C to shut down."
}
{
	"TimeStamp":"2023-08-01T16:47:31.949723+00:00",
	"Log":"Microsoft.Hosting.Lifetime[0]"
}
{
	"TimeStamp":"2023-08-01T16:47:31.9497292+00:00",
	"Log":"Hosting environment: Production"
}
{
	"TimeStamp":"2023-08-01T16:47:31.9497325+00:00",
	"Log":"Microsoft.Hosting.Lifetime[0]"
}
{
	"TimeStamp":"2023-08-01T16:47:31.9497367+00:00",
	"Log":"Content root path: /app/"
}

További információ: az containerapp logs.

Kérések küldése

Nyisson meg egy új bash-felületet. Futtassa a következő parancsot, és cserélje le <YOUR_CONTAINER_APP_FQDN> a tárolóalkalmazás teljes tartománynevét, amelyet a Tárolóalkalmazás létrehozása és üzembe helyezése szakaszból mentett.

seq 1 50 | xargs -Iname -P10 curl "<YOUR_CONTAINER_APP_FQDN>"

Ezek a parancsok 50 kérést küldenek a tárolóalkalmazásnak egyidejűleg 10 kérelem kötegében.

Parancs vagy argumentum Leírás
seq 1 50 1 és 50 közötti számsorozatot hoz létre.
| A cső operátora elküldi a sorrendet a xargs parancsnak.
xargs A megadott URL-címmel futtat curl
-Iname A kimenetének seqhelyőrzőjeként szolgál. Ez az argumentum megakadályozza, hogy a visszatérési érték a parancsnak curl legyen elküldve.
curl Meghívja a megadott URL-címet.
-P10 Arra utasítja xargs , hogy egyszerre legfeljebb 10 folyamatot futtasson.

További információkért tekintse meg a következő dokumentációt:

Az első rendszerhéjban, ahol futtatta a az containerapp logs show parancsot, a kimenet most egy vagy több naplóbejegyzést tartalmaz, például az alábbiakat.

{
	"TimeStamp":"2023-08-01 18:09:52 +0000 UTC",
	"Type":"Normal",
	"ContainerAppName":"my-container-app",
	"RevisionName":"my-container-app--9uj51l6",
	"ReplicaName":"my-container-app--9uj51l6-5f96557ffb-f795d",
	"Msg":"Replica 'my-container-app--9uj51l6-5f96557ffb-f795d' has been scheduled to run on a node.",
	"Reason":"AssigningReplica",
	"EventSource":"ContainerAppController",
	"Count":0
}

Skálázás megtekintése az Azure Portalon (nem kötelező)

  1. Jelentkezzen be az Azure Portalra.
  2. A felső keresősávon adja meg a saját tárolóalkalmazást.
  3. A keresési eredményekben az Erőforrások területen válassza ki a saját tárolóalkalmazást.
  4. A bal oldali navigációs sávon bontsa ki az Alkalmazást, és válassza a Méretezés és replikák lehetőséget.
  5. A Méretezés és replikák lapon válassza a Replikák lehetőséget.
  6. A tárolóalkalmazásban most már több replika is fut.

Képernyőkép a tárolóalkalmazás-replikákról.

Előfordulhat, hogy az új replikák megtekintéséhez a Frissítés lehetőséget kell választania.

  1. A bal oldali navigációs sávon bontsa ki a Figyelés elemet, és válassza a Metrikák lehetőséget.

  2. A Metrikák lapon állítsa a Metrikát kérések értékre.

  3. Válassza ki a Felosztás alkalmazása.

  4. Bontsa ki az Értékek legördülő menüt, és jelölje be a Replika elemet.

  5. A felosztás szerkesztésének befejezéséhez válassza a kék pipa ikont.

  6. A gráf a tárolóalkalmazás által fogadott kéréseket jeleníti meg replika szerint felosztva.

    Tárolóalkalmazás metrikáinak grafikonja, amelyen a kérelmek replika szerinti felosztása látható.

  7. A gráfméret alapértelmezés szerint az utolsó 24 órára van állítva, 15 perces részletességgel. Jelölje ki a skálát, és módosítsa az utolsó 30 percre egyperces részletességgel. Válassza a Apply gombot.

  8. Jelölje ki a gráfot, és húzza az alakzatot a tárolóalkalmazás által fogadott kérelmek legutóbbi számának kiemeléséhez.

Képernyőkép a tárolóalkalmazás metrikáinak grafikonról, amelyen a kérelmek replika szerinti felosztása látható, 30 perces skálával és egyperces részletességgel.

Az alábbi képernyőképen a tárolóalkalmazás által fogadott kérések replikák közötti felosztásának nagyított nézete látható.

Képernyőkép a tárolóalkalmazás metrikáinak grafikonról, amely a kérelmek replika szerinti felosztását jeleníti meg nagyított nézetben.

Az erőforrások eltávolítása

Ha nem folytatja az alkalmazás használatát, futtassa az alábbi parancsot az erőforráscsoport és az oktatóanyagban létrehozott összes erőforrás törléséhez.

Figyelemfelhívás

Az alábbi parancs törli a megadott erőforráscsoportot és a benne lévő összes erőforrást. Ha az oktatóanyag hatókörén kívül eső erőforrások a megadott erőforráscsoportban találhatók, akkor azok is törlődnek.

az group delete --name my-container-apps

Tipp.

Problémákat tapasztal? Tudassa velünk a GitHubon, ha megnyit egy hibát az Azure Container Apps adattárában.

Következő lépések