Azure Container Apps 'te ölçek kurallarını ayarlama
Azure Container Apps, bildirime dayalı ölçeklendirme kuralları kümesi üzerinden otomatik yatay ölçeklendirmeyi yönetir. Bir kapsayıcı uygulamasının ölçeği ölçeklenirken, kapsayıcı uygulamasının yeni örnekleri isteğe bağlı olarak oluşturulur. Bu örnekler çoğaltmalar olarak bilinir.
Ölçek kuralları resources.properties.template.scale yapılandırmabölümünde tanımlanmıştır. Kapsayıcı uygulamanızdaki tüm kurallara uygulanan iki ölçek özelliği vardır.
| Ölçek özelliği | Description | Varsayılan değer | En düşük değer | En yüksek değer |
|---|---|---|---|---|
minReplicas |
Kapsayıcı uygulamanız için çalışan minimum çoğaltma sayısı. | 0 | 1 | 25 |
maxReplicas |
Kapsayıcı uygulamanız için çalışan en fazla çoğaltma sayısı. | yok | 1 | 25 |
- Kapsayıcı uygulamanız sıfıra ölçeklenirken faturalandırılmaz.
- Dizide tek tek ölçek kuralları tanımlanmıştır
rules. - Uygulamanızın bir örneğinin her zaman çalıştığından emin olmak istiyorsanız,
minReplicas1 veya üzeri olarak ayarlayın. - Çoğaltmalar işlenmiyor, ancak bellekte kalan, "boşta olma ücreti" kategorisinde faturalandırılır.
- Ölçeklendirme kurallarında yapılan değişiklikler, bir Düzeltme kapsamı değişikdir.
- HTTP olmayan olay ölçeği kuralları kullanırken, ' nin ' i
activeRevisionModeolarak ayarlanmasısingleönerilir.
Önemli
Çoğaltma miktarları garanti değil, hedef tutardır. ' A ayarlamış olsanız maxReplicas bile 1 , iş parçacığı güvenliği garantisi yoktur.
Ölçek Tetikleyicileri
Kapsayıcı uygulamaları çok sayıda ölçek tetikleyicisi destekler. Desteklenen ölçek Tetikleyicileri hakkında daha fazla bilgi için bkz. Keda scalers.
KEDA belgeleri, Container Apps ARM şablonu JSON içinde olduğunda, YAML içindeki kod örneklerini gösterir. Gereksinimlerinize göre KEDA örnekleri dönüştürerek, özellik adlarını Kebab kasalarından kamel büyük küçük harfe değiştirdiğinizden emin olun.
HTTP
Bir HTTP ölçeklendirme kuralıyla, ne zaman ölçeklenebileceğinizi belirleyen eşiğin üzerinde denetiminiz vardır.
| Ölçek özelliği | Description | Varsayılan değer | En düşük değer | En yüksek değer |
|---|---|---|---|---|
concurrentRequests |
İstek sayısı bu değeri aşarsa, tutara kadar daha fazla çoğaltma eklenir maxReplicas . |
50 | 1 | yok |
{
...
"resources": {
...
"properties": {
...
"template": {
...
"scale": {
"minReplicas": 0,
"maxReplicas": 5,
"rules": [{
"name": "http-rule",
"http": {
"metadata": {
"concurrentRequests": "100"
}
}
}]
}
}
}
}
}
Bu örnekte, kapsayıcı uygulaması beş çoğaltmanın ölçeğini ölçeklendirir ve sıfıra ölçeklendirebilir. Ölçeklendirme eşiği, saniye başına 100 eşzamanlı istek olarak ayarlanır.
Olay odaklı
Kapsayıcı uygulamaları, çok çeşitli olay türlerine göre ölçeklendirebilir. Kedatarafından desteklenen herhangi bir olay kapsayıcı uygulamalarında desteklenir.
Her olay türü, metadata Keda tanımının bölümündeki farklı özelliklere sahiptir. Kapsayıcı uygulamalarında bir ölçek kuralı tanımlamak için bu özellikleri kullanın.
aşağıdaki örnek, bir Azure Service Bus tetikleyicisine dayalı bir ölçek kuralının nasıl oluşturulacağını göstermektedir.
{
...
"resources": {
...
"properties": {
"configuration": {
"secrets": [{
"name": "servicebusconnectionstring",
"value": "<MY-CONNECTION-STRING-VALUE>"
}],
},
"template": {
...
"scale": {
"minReplicas": "0",
"maxReplicas": "10",
"rules": [
{
"name": "queue-based-autoscaling",
"custom": {
"type": "azure-servicebus",
"metadata": {
"queueName": "myServiceBusQueue",
"messageCount": "20"
},
"auth": [{
"secretRef": "servicebusconnectionstring",
"triggerParameter": "connection"
}]
}
}]
}
Bu örnekte, kapsayıcı uygulaması aşağıdaki davranışa göre ölçeklendirilir:
- Kuyruktaki ileti sayısı 20 ' yi aşarsa, yeni çoğaltmalar oluşturulur.
- Sıraya yönelik bağlantı dizesi yapılandırma dosyasına bir parametre olarak sağlanır ve özelliği aracılığıyla başvurulur
secretRef.
CPU
CPU ölçeklendirme, uygulamanızın ne kadarının kullanılmakta olduğuna bağlı olarak ölçeği büyütme veya küçültme olanağı sağlar. CPU ölçeklendirme, kapsayıcı uygulamanızın 0 ' a ölçeklendirilmesine izin vermez. Bu tetikleyici hakkında daha fazla bilgi için bkz. Keda CPU ölçek tetikleyicisi.
Aşağıdaki örnek, bir CPU ölçeklendirme kuralının nasıl oluşturulacağını göstermektedir.
{
...
"resources": {
...
"properties": {
...
"template": {
...
"scale": {
"minReplicas": "0",
"maxReplicas": "10",
"rules": [{
"name": "cpuScalingRule",
"custom": {
"type": "cpu",
"metadata": {
"type": "Utilization",
"value": "50"
}
}
}]
}
}
}
}
}
- Bu örnekte, kapsayıcı uygulaması CPU kullanımı %50 ' ı aştığında ölçeklendirir.
- En azından, tek bir çoğaltma CPU kullanımına göre ölçeklenen uygulamalar için bellekte kalır.
Bellek
Bellek ölçeklendirme, daha fazla bellek kullanılmasına bağlı olarak uygulamanızın ölçeğini veya ölçeğini değiştirmenize olanak sağlar. Bellek ölçeklendirme, kapsayıcı uygulamanızın 0 olarak ölçeklendirilmesine izin vermez. Bu Scaler hakkında daha fazla bilgi için bkz. Keda belleği Scaler.
Aşağıdaki örnek, bir bellek ölçeklendirme kuralının nasıl oluşturulacağını göstermektedir.
{
...
"resources": {
...
"properties": {
...
"template": {
...
"scale": {
"minReplicas": "0",
"maxReplicas": "10",
"rules": [{
"name": "memoryScalingRule",
"custom": {
"type": "memory",
"metadata": {
"type": "Utilization",
"value": "50"
}
}
}]
}
}
}
}
}
- Bu örnekte, bellek kullanımı %50 aştığında kapsayıcı uygulama ölçeklendirilir.
- En azından, tek bir çoğaltma bellek kullanımına göre ölçeklenen uygulamalar için bellekte kalır.
Dikkat edilmesi gerekenler
- Dikey ölçeklendirme desteklenmez.
- Çoğaltma miktarları garanti değil, hedef tutardır.
- ' A ayarlamış olsanız
maxReplicasbile1, iş parçacığı güvenliği garantisi yoktur.
- ' A ayarlamış olsanız