Skálázási szabályok beállítása az Azure Container Appsben
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ások változatának vertikális felskálázása során a változat új példányai igény szerint jönnek létre. Ezeket a példányokat replikáknak nevezzük.
A skálázási szabályok hozzáadása vagy szerkesztése a tárolóalkalmazás új változatát hozza létre. A változat a tárolóalkalmazás nem módosítható pillanatképe. Ha tudni szeretné, hogy mely típusú módosítások váltanak ki új változatot, tekintse meg a változatmódosítások típusait.
Az eseményvezérelt Container Apps-feladatok skálázási szabályokkal aktiválják az eseményeken alapuló végrehajtásokat.
Méretezési definíció
A skálázás a korlátok, szabályok és viselkedés kombinációja.
A korlátok határozzák meg a replikák minimális és maximális számát változatonként a tárolóalkalmazás skálázása során.
Méretkorlát Alapértelmezett érték Minimális érték Maximális érték Replikák minimális száma változatonként 0 0 A maximálisan konfigurálható replikák száma 1000. Replikák maximális száma változatonként 10 0 A maximálisan konfigurálható replikák száma 1000. A Container Apps által használt szabályok határozzák meg, hogy mikor kell replikákat hozzáadni vagy eltávolítani.
A méretezési szabályok HTTP, TCP (Transmission Control Protocol) vagy egyéniként vannak implementálva.
A viselkedés a szabályok és korlátok kombinációja, amelyek meghatározzák a skálázási döntéseket az idő függvényében.
A méretezési viselkedés ismerteti a méretezési döntések meghozatalát.
A méretezési szabályok meghatározásakor fontos figyelembe venni a következő elemeket:
- Nem számítunk fel használati díjakat, ha a tárolóalkalmazás nullára van skálázva.
- Előfordulhat, hogy a nem feldolgozott, de a memóriában maradó replikák számlázása alacsonyabb "tétlenségi" sebességgel történik. További információ: Számlázás.
- Ha meg szeretné győződni arról, hogy a változat egy példánya mindig fut, állítsa a replikák minimális számát 1-re vagy magasabbra.
Skálázási szabályok
A skálázást az eseményindítók három különböző kategóriája vezérli:
- HTTP: A korrektúra egyidejű HTTP-kéréseinek száma alapján.
- TCP: A korrektúra egyidejű TCP-kapcsolatainak száma alapján.
- Egyéni: Processzor, memória vagy támogatott eseményvezérelt adatforrások, például:
- Azure Service Bus
- Azure-eseményközpontok
- Apache Kafka
- Redis
Ha több skálázási szabályt határoz meg, a tárolóalkalmazás a szabályok első feltételének teljesülése után elkezd skálázni.
HTTP
HTTP-skálázási szabály esetén szabályozhatja az egyidejű HTTP-kérések küszöbértékét, amely meghatározza a tárolóalkalmazás változatának méretezését. Az egyidejű kérések száma 15 másodpercenként az elmúlt 15 másodperc kéréseinek 15-ével osztva. A Container Apps-feladatok nem támogatják a HTTP-skálázási szabályokat.
A következő példában a változat akár öt replikát is felskálázhat, és nullára skálázható. A méretezési tulajdonság másodpercenként 100 egyidejű kérésre van beállítva.
Példa
A http
szakasz egy HTTP-méretezési szabályt határoz meg.
Skálázási tulajdonság | Leírás | Alapértelmezett érték | Minimális érték | Maximális érték |
---|---|---|---|---|
concurrentRequests |
Ha a HTTP-kérelmek száma meghaladja ezt az értéket, a rendszer hozzáad egy másik replikát. A replikák továbbra is felvesznek a készletbe az maxReplicas összeg erejéig. |
10 | 0 | n.a. |
{
...
"resources": {
...
"properties": {
...
"template": {
...
"scale": {
"minReplicas": 0,
"maxReplicas": 5,
"rules": [{
"name": "http-rule",
"http": {
"metadata": {
"concurrentRequests": "100"
}
}
}]
}
}
}
}
}
Feljegyzés
Állítsa a properties.configuration.activeRevisionsMode
tárolóalkalmazás single
tulajdonságát a nem HTTP-eseményméretezési szabályok használatakor.
HTTP-méretezési szabály definiálása a --scale-rule-http-concurrency
paraméterrel a parancsokban vagy update
parancsokbancreate
.
PARANCSSOR-paraméter | Leírás | Alapértelmezett érték | Minimális érték | Maximális érték |
---|---|---|---|---|
--scale-rule-http-concurrency |
Ha az egyidejű HTTP-kérelmek száma meghaladja ezt az értéket, a rendszer hozzáad egy másik replikát. A replikák továbbra is felvesznek a készletbe az max-replicas összeg erejéig. |
10 | 0 | n.a. |
az containerapp create \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--environment <ENVIRONMENT_NAME> \
--image <CONTAINER_IMAGE_LOCATION>
--min-replicas 0 \
--max-replicas 5 \
--scale-rule-name azure-http-rule \
--scale-rule-type http \
--scale-rule-http-concurrency 100
Ugrás a tárolóalkalmazásra az Azure Portalon
Válassza a Méretezés lehetőséget.
Válassza a Szerkesztés és üzembe helyezés lehetőséget.
Válassza a Méretezés lapot.
Válassza ki a replika minimális és maximális tartományát.
Válassza a Hozzáadás lehetőséget.
A Szabálynév mezőbe írjon be egy szabálynevet.
A Típus legördülő listában válassza a HTTP-méretezés lehetőséget.
Az Egyidejű kérések mezőben adja meg a tárolóalkalmazáshoz tartozó egyidejű kérések kívánt számát.
TCP
TCP-skálázási szabályokkal szabályozhatja az egyidejű TCP-kapcsolatok küszöbértékét, amely meghatározza az alkalmazás skálázását. Az egyidejű kapcsolatok száma 15 másodpercenként az elmúlt 15 másodpercben lévő kapcsolatok számának 15-ével való hányadosaként lesz kiszámítva. A Container Apps-feladatok nem támogatják a TCP-skálázási szabályokat.
A következő példában a tárolóalkalmazás változatának skálázása legfeljebb öt replikára terjed ki, és nullára skálázható. A méretezési küszöbérték másodpercenként 100 egyidejű kapcsolatra van beállítva.
Példa
A tcp
szakasz egy TCP-méretezési szabályt határoz meg.
Skálázási tulajdonság | Leírás | Alapértelmezett érték | Minimális érték | Maximális érték |
---|---|---|---|---|
concurrentConnections |
Ha az egyidejű TCP-kapcsolatok száma meghaladja ezt az értéket, egy másik replika lesz hozzáadva. A replikákat az egyidejű kapcsolatok számának növekedésével a rendszer továbbra is hozzáadja az összeghez maxReplicas . |
10 | 0 | n.a. |
{
...
"resources": {
...
"properties": {
...
"template": {
...
"scale": {
"minReplicas": 0,
"maxReplicas": 5,
"rules": [{
"name": "tcp-rule",
"tcp": {
"metadata": {
"concurrentConnections": "100"
}
}
}]
}
}
}
}
}
Definiáljon egy TCP-méretezési szabályt a --scale-rule-tcp-concurrency
paraméterrel a create
parancsokban.update
PARANCSSOR-paraméter | Leírás | Alapértelmezett érték | Minimális érték | Maximális érték |
---|---|---|---|---|
--scale-rule-tcp-concurrency |
Ha az egyidejű TCP-kapcsolatok száma meghaladja ezt az értéket, egy másik replika lesz hozzáadva. A replikákat az egyidejű kapcsolatok számának növekedésével a rendszer továbbra is hozzáadja az összeghez max-replicas . |
10 | 0 | n.a. |
az containerapp create \
--name <CONTAINER_APP_NAME> \
--resource-group <RESOURCE_GROUP> \
--environment <ENVIRONMENT_NAME> \
--image <CONTAINER_IMAGE_LOCATION>
--min-replicas 0 \
--max-replicas 5 \
--transport tcp \
--ingress <external/internal> \
--target-port <CONTAINER_TARGET_PORT> \
--scale-rule-name azure-tcp-rule \
--scale-rule-type tcp \
--scale-rule-tcp-concurrency 100
Az Azure Portal nem támogatja. TCP-méretezési szabály konfigurálásához használja az Azure CLI-t vagy az Azure Resource Managert .
Egyéni
Létrehozhat egyéni Container Apps-méretezési szabályt bármely ScaledObject-alapú KEDA-skálázó alapján az alábbi alapértelmezett értékekkel:
Defaults | Másodperc |
---|---|
Lekérdezési időköz | 30 |
Lehűlési időszak | 300 |
Eseményvezérelt Container Apps-feladatokhoz létrehozhat egy egyéni skálázási szabályt bármely ScaledJob-alapú KEDA-skálázó alapján.
Az alábbi példa bemutatja, hogyan hozhat létre egyéni méretezési szabályt.
Példa
Ez a példa bemutatja, hogyan alakíthat át Egy Azure Service Bus-skálázót Container Apps-méretezési szabálysá, de ugyanezt a folyamatot használja bármely más ScaledObject-alapú KEDA-méretezési specifikációhoz.
A hitelesítéshez a KEDA-méretezési paraméterek a Container Apps titkos kulcsait vagy felügyelt identitásait veszik figyelembe.
Az alábbi eljárás bemutatja, hogyan konvertálhat KEDA-skálázót tárolóalkalmazás-méretezési szabálysá. Ez a kódrészlet egy ARM-sablon részlete, amely megmutatja, hogy az egyes szakaszok hol illeszkednek a teljes sablon kontextusába.
{
...
"resources": {
...
"properties": {
...
"configuration": {
...
"secrets": [
{
"name": "<NAME>",
"value": "<VALUE>"
}
]
},
"template": {
...
"scale": {
"minReplicas": 0,
"maxReplicas": 5,
"rules": [
{
"name": "<RULE_NAME>",
"custom": {
"metadata": {
...
},
"auth": [
{
"secretRef": "<NAME>",
"triggerParameter": "<PARAMETER>"
}
]
}
}
]
}
}
}
}
}
Ebből a részletből megtudhatja, hogyan illeszkednek az alábbi példák az ARM-sablonba.
Először határozza meg a méretezési szabály típusát és metaadatait.
A KEDA-méretezési specifikációban keresse meg az
type
értéket.triggers: - type: azure-servicebus metadata: queueName: my-queue namespace: service-bus-namespace messageCount: "5"
Az ARM-sablonban írja be a méretezési szabály tulajdonságába a
custom.type
skálázásitype
értéket.... "rules": [ { "name": "azure-servicebus-queue-rule", "custom": { "type": "azure-servicebus", "metadata": { "queueName": "my-queue", "namespace": "service-bus-namespace", "messageCount": "5" } } } ] ...
A KEDA-méretezési specifikációban keresse meg az
metadata
értékeket.triggers: - type: azure-servicebus metadata: queueName: my-queue namespace: service-bus-namespace messageCount: "5"
Az ARM-sablonban adja hozzá az összes metaadat-értéket a
custom.metadata
méretezési szabály szakaszához.... "rules": [ { "name": "azure-servicebus-queue-rule", "custom": { "type": "azure-servicebus", "metadata": { "queueName": "my-queue", "namespace": "service-bus-namespace", "messageCount": "5" } } } ] ...
Hitelesítés
A Container Apps skálázási szabályai támogatják a titkos kódokon alapuló hitelesítést. Az Azure-erőforrások, például az Azure Queue Storage, az Azure Service Bus és az Azure Event Hubs méretezési szabályai szintén támogatják a felügyelt identitást. Ha lehetséges, használjon felügyelt identitáshitelesítést a titkos kódok alkalmazáson belüli tárolásának elkerülése érdekében.
Titkos kódok használata
Ha titkos kulcsokat szeretne használni a hitelesítéshez, létre kell hoznia egy titkos kulcsot a tárolóalkalmazás tömbjében secrets
. A titkos érték a méretezési szabály tömbjében használatos auth
.
A KEDA-skálázók titkos kulcsokat használhatnak a tulajdonság által authenticationRef
hivatkozott TriggerAuthentication-ben. A TriggerAuthentication objektumot a Container Apps méretezési szabályához rendelheti.
Keresse meg a
TriggerAuthentication
KEDAScaledObject
specifikációja által hivatkozott objektumot.Az objektumban
TriggerAuthentication
keresse meg az egyessecretTargetRef
titkos kódokat.apiVersion: v1 kind: Secret metadata: name: my-secrets namespace: my-project type: Opaque data: connection-string-secret: <SERVICE_BUS_CONNECTION_STRING> --- apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: azure-servicebus-auth spec: secretTargetRef: - parameter: connection name: my-secrets key: connection-string-secret --- apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: azure-servicebus-queue-rule namespace: default spec: scaleTargetRef: name: my-scale-target triggers: - type: azure-servicebus metadata: queueName: my-queue namespace: service-bus-namespace messageCount: "5" authenticationRef: name: azure-servicebus-auth
Az ARM-sablonban minden titkos kódhoz:
Adjon hozzá egy titkos kulcsot a tárolóalkalmazás tömbhöz
secrets
, amely tartalmazza a titkos kód nevét és értékét.Adjon hozzá egy bejegyzést a
auth
méretezési szabály tömbjének.Állítsa a tulajdonság értékét
triggerParameter
a tulajdonság értékéresecretTargetRef
parameter
.Állítsa a tulajdonság értékét
secretRef
a tulajdonságkey
nevéresecretTargetRef
.
{ ... "resources": { ... "properties": { ... "configuration": { ... "secrets": [ { "name": "connection-string-secret", "value": "<SERVICE_BUS_CONNECTION_STRING>" } ] }, "template": { ... "scale": { "minReplicas": 0, "maxReplicas": 5, "rules": [ { "name": "azure-servicebus-queue-rule", "custom": { "type": "azure-servicebus", "metadata": { "queueName": "my-queue", "namespace": "service-bus-namespace", "messageCount": "5" }, "auth": [ { "secretRef": "connection-string-secret", "triggerParameter": "connection" } ] } } ] } } } } }
Egyes skálázók támogatják az
FromEnv
utótaggal rendelkező metaadatokat egy környezeti változó értékére való hivatkozáshoz. A Container Apps a környezeti változó ARM-sablonjában szereplő első tárolót tekinti meg.További biztonsági információkért tekintse meg a megfontolandó szempontokat ismertető szakaszt .
Felügyelt identitás használata
A Container Apps skálázási szabályai felügyelt identitással hitelesíthetők az Azure-szolgáltatásokkal. Az alábbi ARM-sablon a rendszeralapú felügyelt identitáson halad át az Azure Queue-skálázó hitelesítéséhez.
"scale": {
"minReplicas": 0,
"maxReplicas": 4,
"rules": [
{
"name": "azure-queue",
"custom": {
"type": "azure-queue",
"metadata": {
"accountName": "apptest123",
"queueName": "queue1",
"queueLength": "1"
},
"identity": "system"
}
}
]
}
A felügyelt identitás méretezési szabályokkal való használatáról további információt a Felügyelt identitás című témakörben talál.
A KEDA-méretezési specifikációban keresse meg az
type
értéket.triggers: - type: azure-servicebus metadata: queueName: my-queue namespace: service-bus-namespace messageCount: "5"
A CLI parancsban állítsa a paramétert
--scale-rule-type
a specifikációtype
értékére.az containerapp create \ --name <CONTAINER_APP_NAME> \ --resource-group <RESOURCE_GROUP> \ --environment <ENVIRONMENT_NAME> \ --image <CONTAINER_IMAGE_LOCATION> --min-replicas 0 \ --max-replicas 5 \ --secrets "connection-string-secret=<SERVICE_BUS_CONNECTION_STRING>" \ --scale-rule-name azure-servicebus-queue-rule \ --scale-rule-type azure-servicebus \ --scale-rule-metadata "queueName=my-queue" \ "namespace=service-bus-namespace" \ "messageCount=5" \ --scale-rule-auth "connection=connection-string-secret"
A KEDA-méretezési specifikációban keresse meg az
metadata
értékeket.triggers: - type: azure-servicebus metadata: queueName: my-queue namespace: service-bus-namespace messageCount: "5"
A CLI parancsban állítsa a paramétert
--scale-rule-metadata
a metaadat-értékekre.A parancssorban való használathoz yaML-formátumból kulcs/érték párdá kell alakítania az értékeket. Különítse el az egyes kulcs-/értékpárokat szóközzel.
az containerapp create \ --name <CONTAINER_APP_NAME> \ --resource-group <RESOURCE_GROUP> \ --environment <ENVIRONMENT_NAME> \ --image <CONTAINER_IMAGE_LOCATION> --min-replicas 0 \ --max-replicas 5 \ --secrets "connection-string-secret=<SERVICE_BUS_CONNECTION_STRING>" \ --scale-rule-name azure-servicebus-queue-rule \ --scale-rule-type azure-servicebus \ --scale-rule-metadata "queueName=my-queue" \ "namespace=service-bus-namespace" \ "messageCount=5" \ --scale-rule-auth "connection=connection-string-secret"
Hitelesítés
A Container Apps skálázási szabályai támogatják a titkos kódokon alapuló hitelesítést. Az Azure-erőforrások, például az Azure Queue Storage, az Azure Service Bus és az Azure Event Hubs méretezési szabályai szintén támogatják a felügyelt identitást. Ha lehetséges, használjon felügyelt identitáshitelesítést a titkos kódok alkalmazáson belüli tárolásának elkerülése érdekében.
Titkos kódok használata
A Tárolóalkalmazások méretezési szabály titkos kulcsalapú hitelesítésének konfigurálásához konfigurálja a tárolóalkalmazás titkos kulcsait, és hivatkozzon rájuk a méretezési szabályban.
A KEDA-skálázók támogatják a triggerAuthentication titkos kulcsokat, amelyeket a authenticationRef
tulajdonság referenciaként használ. Az objektum megfeleltethető a TriggerAuthentication
Container Apps méretezési szabályának.
Keresse meg a
TriggerAuthentication
KEDAScaledObject
specifikációja által hivatkozott objektumot. Azonosítsa az egyessecretTargetRef
objektumokatTriggerAuthentication
.apiVersion: v1 kind: Secret metadata: name: my-secrets namespace: my-project type: Opaque data: connection-string-secret: <SERVICE_BUS_CONNECTION_STRING> --- apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: azure-servicebus-auth spec: secretTargetRef: - parameter: connection name: my-secrets key: connection-string-secret --- apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: azure-servicebus-queue-rule namespace: default spec: scaleTargetRef: name: my-scale-target triggers: - type: azure-servicebus metadata: queueName: my-queue namespace: service-bus-namespace messageCount: "5" authenticationRef: name: azure-servicebus-auth
A tárolóalkalmazásban hozza létre a tulajdonságoknak megfelelő
secretTargetRef
titkos kulcsokat.A CLI-parancsban állítsa be az egyes
secretTargetRef
bejegyzések paramétereit.Hozzon létre egy titkos bejegyzést a
--secrets
paraméterrel. Ha több titkos kulcs is van, különítse el őket egy szóközzel.Hozzon létre egy hitelesítési bejegyzést a
--scale-rule-auth
paraméterrel. Ha több bejegyzés is van, különítse el őket szóközzel.
az containerapp create \ --name <CONTAINER_APP_NAME> \ --resource-group <RESOURCE_GROUP> \ --environment <ENVIRONMENT_NAME> \ --image <CONTAINER_IMAGE_LOCATION> --min-replicas 0 \ --max-replicas 5 \ --secrets "connection-string-secret=<SERVICE_BUS_CONNECTION_STRING>" \ --scale-rule-name azure-servicebus-queue-rule \ --scale-rule-type azure-servicebus \ --scale-rule-metadata "queueName=my-queue" \ "namespace=service-bus-namespace" \ "messageCount=5" \ --scale-rule-auth "connection=connection-string-secret"
Felügyelt identitás használata
A Container Apps skálázási szabályai felügyelt identitással hitelesíthetők az Azure-szolgáltatásokkal. Az alábbi parancs létrehoz egy tárolóalkalmazást egy felhasználó által hozzárendelt felügyelt identitással, és az Azure Queue-skálázó hitelesítésére használja.
az containerapp create \
--resource-group <RESOURCE_GROUP> \
--name <APP_NAME> \
--environment <ENVIRONMENT_ID> \
--user-assigned <USER_ASSIGNED_IDENTITY_ID> \
--scale-rule-name azure-queue \
--scale-rule-type azure-queue \
--scale-rule-metadata "accountName=<AZURE_STORAGE_ACCOUNT_NAME>" "queueName=queue1" "queueLength=1" \
--scale-rule-identity <USER_ASSIGNED_IDENTITY_ID>
Cserélje le a helyőrzőket az értékekre.
Nyissa meg a tárolóalkalmazást az Azure Portalon.
Válassza a Méretezés lehetőséget.
Válassza a Szerkesztés és üzembe helyezés lehetőséget.
Válassza a Méretezés és replikák lapot.
Válassza ki a replika minimális és maximális tartományát.
Válassza a Hozzáadás lehetőséget.
A Szabálynév mezőbe írjon be egy szabálynevet.
A Típus legördülő listában válassza az Egyéni lehetőséget.
A KEDA-méretezési specifikációban keresse meg az
type
értéket.triggers: - type: azure-servicebus metadata: queueName: my-queue namespace: service-bus-namespace messageCount: "5"
Az Egyéni szabály típusa mezőbe írja be a skálázó
type
értékét.A KEDA-méretezési specifikációban keresse meg az
metadata
értékeket.triggers: - type: azure-servicebus metadata: queueName: my-queue namespace: service-bus-namespace messageCount: "5"
A portálon keresse meg a Metaadatok szakaszt, és válassza a Hozzáadás lehetőséget. Adja meg az egyes elemek nevét és értékét a KEDA
ScaledObject
specifikáció metaadatai szakaszban.
Hitelesítés
A Container Apps skálázási szabályai támogatják a titkos kódokon alapuló hitelesítést. Az Azure-erőforrások, például az Azure Queue Storage, az Azure Service Bus és az Azure Event Hubs méretezési szabályai szintén támogatják a felügyelt identitást. Ha lehetséges, használjon felügyelt identitáshitelesítést a titkos kódok alkalmazáson belüli tárolásának elkerülése érdekében.
Titkos kódok használata
A tárolóalkalmazásban hozza létre a hivatkozni kívánt titkos kulcsokat .
Keresse meg a
TriggerAuthentication
KEDAScaledObject
specifikációja által hivatkozott objektumot. Azonosítsa az egyessecretTargetRef
objektumokatTriggerAuthentication
.apiVersion: v1 kind: Secret metadata: name: my-secrets namespace: my-project type: Opaque data: connection-string-secret: <SERVICE_BUS_CONNECTION_STRING> --- apiVersion: keda.sh/v1alpha1 kind: TriggerAuthentication metadata: name: azure-servicebus-auth spec: secretTargetRef: - parameter: connection name: my-secrets key: connection-string-secret --- apiVersion: keda.sh/v1alpha1 kind: ScaledObject metadata: name: azure-servicebus-queue-rule namespace: default spec: scaleTargetRef: name: my-scale-target triggers: - type: azure-servicebus metadata: queueName: my-queue namespace: service-bus-namespace messageCount: "5" authenticationRef: name: azure-servicebus-auth
A Hitelesítés szakaszban válassza a Hozzáadás lehetőséget az egyes KEDA-paraméterek
secretTargetRef
bejegyzésének létrehozásához.
Felügyelt identitás használata
A felügyelt identitás hitelesítése nem támogatott az Azure Portalon. Az Azure CLI vagy az Azure Resource Manager használatával hitelesítheti a felügyelt identitást.
Alapértelmezett méretezési szabály
Ha nem hoz létre méretezési szabályt, a rendszer az alapértelmezett méretezési szabályt alkalmazza a tárolóalkalmazásra.
Eseményindító | Minimális replikák | Replikák maximális kihasználása |
---|---|---|
HTTP | 0 | 10 |
Fontos
Ha nem engedélyezi a bejövő forgalmat, hozzon létre egy méretezési szabályt, vagy állítsa minReplicas
be az 1 vagy több értéket. Ha a bejövő forgalom le van tiltva, és nem határoz meg egyéni méretezési szabályt minReplicas
, akkor a tárolóalkalmazás nullára fog skálázni, és nem tud biztonsági másolatot készíteni.
Skálázási viselkedés
A skálázási viselkedés az alábbi alapértelmezett értékekkel rendelkezik:
Paraméter | Érték |
---|---|
Lekérdezési időköz | 30 másodperc |
Lehűlési időszak | 300 másodperc |
Stabilizáló ablak vertikális felskálázása | 0 másodperc |
Leskálázási stabilizálási ablak | 300 másodperc |
Vertikális felskálázási lépés | 1, 4, 100% az aktuális |
Leskálázási lépés | Az áram 100%-a |
Skálázási algoritmus | desiredReplicas = ceil(currentMetricValue / targetMetricValue) |
- A lekérdezési időköz az, hogy a KEDA milyen gyakran kérdezi le az eseményforrásokat. Ez az érték nem vonatkozik a HTTP- és TCP-méretezési szabályokra.
- A lehűlés időtartama az utolsó esemény megfigyelése után, mielőtt az alkalmazás leskálázható a minimális replikaszámra.
- A felskálázási stabilizálási időszak mennyi ideig vár, mielőtt vertikális felskálázási döntést hoz, ha teljesülnek a vertikális felskálázási feltételek.
- A leskálázási stabilizálási időszak mennyi ideig vár, mielőtt a vertikális leskálázási feltételek teljesülése után dönt a vertikális leskálázásról.
- A felskálázási lépés az új példányok hozzáadásának sebessége. Ez kezdődik 1, 4, 8, 16, 32, ... maximális replikaszámra.
- A leskálázási lépés a replikák eltávolításának sebessége. Alapértelmezés szerint a leállításra szoruló replikák 100%-a törlődik.
- A skálázási algoritmus a replikák aktuális kívánt számának kiszámításához használt képlet.
Példa
A következő méretezési szabály esetén:
"minReplicas": 0,
"maxReplicas": 20,
"rules": [
{
"name": "azure-servicebus-queue-rule",
"custom": {
"type": "azure-servicebus",
"metadata": {
"queueName": "my-queue",
"namespace": "service-bus-namespace",
"messageCount": "5"
}
}
}
]
Ahogy az alkalmazás felskálázható, a KEDA üres üzenetsorsal kezdődik, és végrehajtja a következő lépéseket:
- Ellenőrizze
my-queue
30 másodpercenként. - Ha az üzenetsor hossza 0, lépjen vissza az (1) helyre.
- Ha az üzenetsor hossza > 0, skálázza az alkalmazást 1-re.
- Ha az üzenetsor hossza 50, számítsa ki
desiredReplicas = ceil(50/5) = 10
. - Alkalmazás méretezése
min(maxReplicaCount, desiredReplicas, max(4, 2*currentReplicaCount))
- Lépjen vissza az (1) helyre.
Ha az alkalmazást a replikák maximális száma 20-ra skálázták, a skálázás ugyanazokat az előző lépéseket kell elvégeznie. A leskálázás csak akkor történik, ha a feltétel 300 másodpercig teljesült (a leskálázási stabilizálási időszak). Ha az üzenetsor hossza 0, a KEDA 300 másodpercig (lehűlési ideig) vár, mielőtt 0-ra skálázhatja az alkalmazást.
Megfontolások
"Több változat" módban egy új méretezési eseményindító hozzáadása új változatot hoz létre az alkalmazáshoz, de a régi változat továbbra is elérhető marad a régi skálázási szabályokkal. A Forgalomfoglalások kezelése a Változatkezelés lapon.
Nem merülnek fel használati díjak, ha egy alkalmazás nullára skáláz. További díjszabási információkért lásd: Számlázás az Azure Container Appsben.
Engedélyeznie kell az adatvédelmet az Azure Container Apps összes .NET-alkalmazásához. Részletekért tekintse meg a ASP.NET Core-alkalmazások üzembe helyezését és skálázását az Azure Container Appsben .
Ismert korlátozások
A függőleges skálázás nem támogatott.
A replikamennyiségek célösszegek, nem garancia.
Ha Dapr-szereplőkkel kezeli az állapotokat, vegye figyelembe, hogy a nullára történő skálázás nem támogatott. A Dapr virtuális szereplőkkel kezeli az aszinkron hívásokat, ami azt jelenti, hogy a memóriában való ábrázolásuk nem kapcsolódik az identitásukhoz vagy az élettartamukhoz.