Ana içeriğe geç

Apinizer Ortamlarının Otomatik Ölçeklendirilmesi

Bu döküman, podların yatay ölçeklendirme (horizontal auto-scaling) işlemlerinin nasıl yapılandırılacağını açıklar.

Bu yatay ölçeklendirme özelliği, uygulamanın taleplerine göre otomatik olarak pod sayısını artırıp azaltarak kaynak kullanımını optimize eder.

Kubernetes kümenizde ölçeklendirme özelliğini kullanabilmek için bir metric-server kurulu olması gerekmektedir. Eğer mevcut değil ise kurulum için buraya tıklayabilirsiniz.

Yapılandırma

Yaml dosyası oluşturun:

sudo vi hpa-autoscaling.yaml
ipucu

Yaml'da NAMESPACE ve DEPLOYMENT_NAME alanlarını uygulamanıza göre düzenleyiniz.

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: apinizer-hpa
namespace: <NAMESPACE>
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: <DEPLOYMENT_NAME>
minReplicas: 1
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: 70
behavior:
scaleDown:
selectPolicy: Max
policies:
- type: Pods
value: 1
periodSeconds: 60
scaleUp:
stabilizationWindowSeconds: 60
policies:
- type: Pods
value: 1
periodSeconds: 60
selectPolicy: Max

Yaml dosyasını uygulayın:

kubectl apply -f manager-hpa-autoscaling.yaml

Yapılandırma Parametreleri

AlanAçıklama
scaleTargetRefBu alanda ölçeklendirme hangi deployment için çalışacağı belirtilir. Örnek: manager.
minReplicasMinimum olması gereken pod sayısıdır. Örnek: 2.
maxReplicasMaksimum sistemde olabilecek pod sayısıdır. Örnek: 10.
averageUtilizationBu alanda cpu ve memory kullanımı için yüzdelik olarak bir değer girebilir. Belirtilen seviyenin üstüne çıkması sonucunda pod oluşturcaktır.
scaleDownHedef kullanım seviyesinin altına düşmesi durumunda yeni oluşturduğu podlardan her 60 saniyede verilen değer miktarınca pod azaltacaktır.
scaleUpHedef kullanım seviyesinin üstüne çıkması durumunda, belirtilen stabilizationWindowSeconds değeri olan 60 saniye boyunca kontrol edilir. Şartın sağlanması durumunda, her 60 saniyede bir pod clusterınıza eklenir.
ipucu

scaleDown özelliğini kapatmak için "selectPolicy: Disabled" olarak değiştiriniz.