Kubernetes Cheatsheet

Kubernetes CheatsheetKapitel 07 von 11

Kubernetes Autoscaling und Resource-Schutz

Stand Kubernetes 1.37 · Edition 2026.11 · Release-Daten geprüft am 30. Oktober 2026

HPA

metrics.k8s.io (CPU/Mem; v1 GA seit 1.37, der HPA fragt weiter v1beta1 ab) oder custom/external (Prometheus-Adapter, KEDA). minReplicas≥2 für Verfügbarkeit, 0 nur mit Object-/External-Metrik (Beta 1.37). Gegen Flapping: behavior.scaleDown.stabilizationWindowSeconds (Default 300 s), Toleranz je Richtung über behavior.scaleUp|scaleDown.tolerance (GA 1.37, Default 10 %).

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata: {name: api}
spec:
  scaleTargetRef:
    {apiVersion: apps/v1, kind: Deployment, name: api}
  minReplicas: 2
  maxReplicas: 10
  metrics:
  - type: Resource
    resource:
      name: cpu
      target: {type: Utilization, averageUtilization: 70}

VPA

recommender: schlägt requests vor (updateMode: Off, sicher).

updater + admission: Recreate (Eviction) oder InPlaceOrRecreate (GA seit VPA 1.6, nutzt In-Place-Resize, GA in K8s 1.35). Auto ist seit VPA 1.5 deprecated.

Achtung: VPA mit Updates + HPA auf CPU/Mem kollidieren.

PDB / ResourceQuota / LimitRange

PodDisruptionBudget: minAvailable oder maxUnavailable, Drains, Upgrades respektieren das. unhealthyPodEvictionPolicy: AlwaysAllow (GA 1.31), sonst blockieren nicht-Ready-Pods bei ausgeschöpftem Budget den Drain.

ResourceQuota: Namespace-Limit für Summen (requests.cpu, count/pods, persistentvolumeclaims).

LimitRange: Default + Min/Max pro Container, erzwingt, dass jeder Pod requests trägt.