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


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

  1. Nyissa meg a tárolóalkalmazást az Azure Portalon.
  2. A bal oldali menüben válassza a Korrektúrakezelés lehetőséget.
  3. Ha a változatmód önálló, állítsa a módot többre.
    1. Válassza a Változat mód kiválasztása lehetőséget.
    2. Több lehetőség kiválasztása : Egyszerre több változat is aktív.
    3. Válassza az Alkalmaz lehetőséget.
    4. Várja meg, amíg a változat mód többszörösre frissül. Screenshot of the revision management revision mode setting.
  4. Válassza az Inaktív változatok megjelenítése lehetőséget.
  5. Ha nincs több változat, létrehozhat egy új változatot.
    1. Válassza az Új változat létrehozása lehetőséget.
    2. Használhatja az alapértelmezett beállításokat, vagy testre szabhatja a változatot.
    3. Adjon meg egy nevet/utótagot a változathoz.
    4. Select Create. Screenshot of Create and deploy new revision.
    5. Várja meg a változat üzembe helyezését.
  6. Válassza az Aktív lehetőséget azokhoz a változatokhoz, amelyhez a forgalmat át szeretné irányítani.
  7. 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.
  8. Válassza a Mentés parancsot. Screenshot of traffic splitting in Revision management.

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"
    }
  ]
}

Következő lépések