Sobes.tech
Middle — Middle+

Wie kann man die Anzahl der Container in Kubernetes dynamisch in Abhängigkeit von der Systemauslastung steuern?

sobes.tech KI

Antwort von AI

In Kubernetes wird zur dynamischen Steuerung der Anzahl der Container (Pod-Replikate) je nach Last der Horizontal Pod Autoscaler (HPA) verwendet. Der HPA skaliert automatisch die Anzahl der Pods in einem Deployment, ReplicaSet oder StatefulSet basierend auf Metriken wie CPU-Auslastung, Speicher oder benutzerdefinierten Metriken.

Beispiel für die HPA-Konfiguration, die die Anzahl der Pods basierend auf der CPU-Auslastung skaliert:

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: beispiel-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: beispiel-deployment
  minReplicas: 1
  maxReplicas: 10
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 50

Hier wird der durchschnittliche CPU-Auslastungswert bei 50% gehalten, wobei die Anzahl der Pods zwischen 1 und 10 variiert.

Es ist auch möglich, den Vertical Pod Autoscaler (VPA) zu verwenden, um die Ressourcen des Pods zu ändern, aber für die Skalierung der Replikate ist der HPA die beste Wahl.