Sobes.tech
Middle — Middle+

Jak dynamicznie zarządzać liczbą kontenerów w Kubernetes w zależności od obciążenia systemu?

sobes.tech AI

Odpowiedź od AI

W Kubernetes, aby dynamicznie zarządzać liczbą kontenerów (replik podów) w zależności od obciążenia, używa się Horizontal Pod Autoscaler (HPA). HPA automatycznie skaluję liczbę podów w Deployment, ReplicaSet lub StatefulSet na podstawie metryk, takich jak zużycie CPU, pamięć lub metryki niestandardowe.

Przykład konfiguracji HPA, który skaluje liczbę podów w zależności od obciążenia CPU:

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

Tutaj HPA będzie utrzymywać średnie zużycie CPU na poziomie 50%, zwiększając lub zmniejszając liczbę podów w zakresie od 1 do 10.

Można również używać Vertical Pod Autoscaler (VPA) do zmiany zasobów podu, ale do skalowania liczby replik, HPA jest najlepszym wyborem.