Forgalom felosztása az Azure Container Appsben
Alapértelmezés szerint, ha a bejövő forgalom engedélyezve van, a rendszer az összes forgalmat a legújabb üzembe helyezett változatra irányítja. Ha több változatmódot engedélyez a tárolóalkalmazásban, feloszthatja a bejövő forgalmat az aktív változatok között.
A forgalom felosztása hasznos a tárolóalkalmazás frissítéseinek teszteléséhez. A forgalom felosztásával fokozatosan fázisba helyezheti az új változatot a kék-zöld üzemelő példányokban vagy az A/B-tesztelésben.
A forgalom felosztása az egyes változatokra irányított forgalom súlyán (százalékán) alapul. Az összes forgalomfelosztási szabály együttes súlyának 100%-nak kell lennie. A változatot változatnév vagy korrektúracímke alapján is megadhatja.
Ez a cikk bemutatja, hogyan konfigurálhatja a forgalomfelosztási szabályokat a tárolóalkalmazáshoz. Az alábbi példák futtatásához szükség van egy több változatot tartalmazó tárolóalkalmazásra.
Forgalom felosztásának konfigurálása
Konfigurálja a változatok közötti forgalomeloszlást a az containerapp ingress traffic set
parancs használatával. A korrektúrákat a paraméterrel együtt --revision-weight
név vagy a paraméterrel ellátott --label-weight
változatcímke alapján is megadhatja.
Az alábbi parancs 50%-ra állítja az egyes változatok forgalmi súlyát:
az containerapp ingress traffic set \
--name <APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--revision-weight <REVISION_1>=50 <REVISION_2>=50
Mindenképpen cserélje le a helyőrző értékeket a saját értékeire <>
.
Ez a parancs 80%-ra állítja a módosítási <LABEL_1> forgalmi súlyát, a változat <LABEL_2> pedig 20%-ra:
az containerapp ingress traffic set \
--name <APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--label-weight <LABEL_1>=80 <LABEL_2>=20
- Nyissa meg a tárolóalkalmazást az Azure Portalon.
- A bal oldali menüben válassza a Korrektúrakezelés lehetőséget.
- Ha a változatmód önálló, állítsa a módot többre.
- Válassza a Változat mód kiválasztása lehetőséget.
- Több lehetőség kiválasztása : Egyszerre több változat is aktív.
- Válassza az Alkalmaz lehetőséget.
- Várja meg, amíg a változat mód többszörösre frissül.
- Válassza az Inaktív változatok megjelenítése lehetőséget.
- Ha nincs több változat, létrehozhat egy új változatot.
- Válassza az Új változat létrehozása lehetőséget.
- Használhatja az alapértelmezett beállításokat, vagy testre szabhatja a változatot.
- Adjon meg egy nevet/utótagot a változathoz.
- Select Create.
- Várja meg a változat üzembe helyezését.
- Válassza az Aktív lehetőséget azokhoz a változatokhoz, amelyhez a forgalmat át szeretné irányítani.
- Adja meg a Forgalom oszlop minden változatához átirányítani kívánt forgalom százalékos arányát. Az összes forgalom összesített százalékos arányának 100%-nak kell lennie.
- Válassza a Mentés parancsot.
A forgalom felosztásának engedélyezéséhez adja hozzá a configuration.ingress.traffic
tulajdonságokat a ingress
tárolóalkalmazás-sablon szakaszához. A korrektúrákat a tulajdonsággal ellátott név vagy a revisionName
tulajdonsághoz tartozó label
korrektúracímke alapján adhatja meg.
Az alábbi példa a forgalom 100%-át állítja be a legújabb üzembe helyezett változatra:
{
...
"configuration": {
"ingress": {
"external": true,
"targetPort": 80,
"allowInsecure": false,
"traffic": [
{
"latestRevision": true,
"weight": 100
}
]
},
},
Az alábbi példa a két változat közötti forgalom név szerinti felosztását mutatja be:
{
...
"configuration": {
"ingress": {
"external": true,
"targetPort": 80,
"allowInsecure": false,
"traffic": [
{
"revisionName": "my-example-app--5g3ty20",
"weight": 50
},
{
"revisionName": "my-example-app--qcfkbsv",
"weight": 50
}
],
},
},
Az alábbi példa két változat közötti forgalomfelosztást mutatja be címkék szerint:
{
...
"configuration": {
"ingress": {
"external": true,
"targetPort": 80,
"allowInsecure": false,
"traffic": [
{
"weight": 50,
"label": "v-2"
},
{
"weight": 50,
"label": "v-1"
}
],
},
},
Használati esetek
Az alábbi forgatókönyvek a gyakori használati esetek konfigurációs beállításait ismertetik. A példák JSON formátumban jelennek meg, de az Azure Portal vagy az Azure CLI használatával is konfigurálhatja a forgalom felosztását.
Gyors iteráció
Olyan helyzetekben, amikor gyakran iterálja a tárolóalkalmazás fejlesztését, beállíthatja, hogy a forgalmi szabályok mindig az összes forgalmat a legújabb üzembe helyezett változatra irányítják át.
Az alábbi példasablon az összes forgalmat a legújabb üzembe helyezett változatra irányítja:
"ingress": {
"traffic": [
{
"latestRevision": true,
"weight": 100
}
]
}
Ha elégedett a legújabb változattal, zárolhatja az adott változatra vonatkozó forgalmat a ingress
következő beállítások frissítésével:
"ingress": {
"traffic": [
{
"latestRevision": false, // optional
"revisionName": "myapp--knowngoodrevision",
"weight": 100
}
]
}
Meglévő változat frissítése
Fontolja meg, hogy van egy ismert, jó változat, amely a forgalom 100%-át szolgálja ki, de frissíteni szeretné az alkalmazást. Az új változatokat a közvetlen végpontok használatával helyezheti üzembe és tesztelheti anélkül, hogy az hatással van az alkalmazást kiszolgáló fő változatra.
Ha elégedett a frissített változattal, a forgalom egy részét átteheti az új változatra tesztelés és ellenőrzés céljából.
A következő sablon a forgalom 20%-át áthelyezi a frissített változatra:
"ingress": {
"traffic": [
{
"revisionName": "myapp--knowngoodrevision",
"weight": 80
},
{
"revisionName": "myapp--newerrevision",
"weight": 20
}
]
}
Átmeneti mikroszolgáltatások
Mikroszolgáltatások létrehozásakor érdemes lehet fenntartani az éles és átmeneti végpontokat ugyanahhoz az alkalmazáshoz. Címkék használatával győződjön meg arról, hogy a forgalom nem vált a különböző változatok között.
Az alábbi példasablon címkéket alkalmaz a különböző változatokra.
"ingress": {
"traffic": [
{
"revisionName": "myapp--knowngoodrevision",
"weight": 100
},
{
"revisionName": "myapp--98fdgt",
"weight": 0,
"label": "staging"
}
]
}