Kategorien: Kubernetes, Anleitung
Schlagwörter: Kubernetes, Ressourcennutzung, Verwaltung, Skalierung

Optimierung der Kubernetes-Ressourcennutzung: Horizontal Pod Autoscaler und Metrics Server im Fokus

Eine der zentralen Herausforderungen beim Betrieb von Anwendungen in Kubernetes-Clustern besteht darin, die Ressourcennutzung effizient zu verwalten und die Skalierbarkeit zu gewährleisten. Hier kommen der Horizontal Pod Autoscaler (HPA) und der Metrics Server ins Spiel. In diesem Beitrag zeigen wir Ihnen, wie Sie diese beiden Komponenten nutzen, um Ihre Anwendungen automatisch und dynamisch zu skalieren, basierend auf der aktuellen Auslastung.

Schritt 1: Einrichtung des Metrics Servers mit Helm

Der Metrics Server ist eine wesentliche Komponente für das Monitoring von Ressourcen in Kubernetes-Clustern. Wir beginnen damit, den Metrics Server mithilfe von Helm einzurichten. Dazu fügen wir das entsprechende Helm-Repository hinzu, aktualisieren die verfügbaren Pakete und installieren den Metrics Server in unserem Cluster. Dies ermöglicht es uns, Ressourcen wie CPU und Speicher effektiv zu überwachen und zu analysieren.


# Helm-Repository für Metrics Server hinzufügen
helm repo add metrics-server https://kubernetes-sigs.github.io/metrics-server

# Aktualisieren der verfügbaren Pakete
helm repo update metrics-server

# Metrics Server installieren
helm install metrics-server metrics-server/metrics-server –namespace metrics-server

Schritt 2: Konfiguration des Horizontal Pod Autoscalers (HPA)

Der HPA ist ein Kubernetes-Feature, das es ermöglicht, die Anzahl der Pods einer Anwendung basierend auf verschiedenen Metriken automatisch anzupassen. Wir zeigen Ihnen, wie Sie einen HPA konfigurieren, um Ihre Anwendungen basierend auf CPU- oder Speicherauslastung zu skalieren. Dabei gehen wir sowohl auf die direkte Anwendung eines YAML-Manifests als auch auf die Verwendung des kubectl-Befehls ein.


# Beispiel YAML-Manifest für einen Horizontal Pod Autoscaler (HPA)
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: myapp-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: myapp-deployment
minReplicas: 1
maxReplicas: 10
metrics:
– type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50

Schritt 3: Automatische Skalierung von Anwendungen mit dem Metrics Server

In diesem Schritt demonstrieren wir die praktische Anwendung des HPAs und des Metrics Servers anhand von zwei Szenarien: konstante und variable Last. Im ersten Szenario verwenden wir eine CPU-intensive Anwendung, während im zweiten Szenario externe Last durch schnelle HTTP-Anfragen simuliert wird. Sie erfahren, wie Sie die HPA für beide Szenarien konfigurieren und beobachten, wie sie automatisch auf die Last reagiert und die Anzahl der Pods entsprechend anpasst.


# Beispiel YAML-Manifest für eine Anwendung mit konstanter Last und HPA
apiVersion: apps/v1
kind: Deployment
metadata:
name: constant-load-app
spec:
replicas: 1
selector:
matchLabels:
app: constant-load
template:
metadata:
labels:
app: constant-load
spec:
containers:
– name: constant-load
image: busybox
resources:
limits:
cpu: 200m
command: [„sh“, „-c“]
args: [„while true; do echo ‚Constant Load‘; sleep 1; done“]

Fazit

Die effiziente Skalierung von Kubernetes-Anwendungen ist ein wesentlicher Bestandteil des Betriebs von Container-basierten Workloads. Durch die Kombination des Horizontal Pod Autoscalers mit dem Metrics Server können Sie die Leistung Ihrer Anwendungen optimieren, Ressourcen effizient nutzen und gleichzeitig die Kosten für Ihre Kubernetes-Infrastruktur senken. Mit diesen Tools sind Sie bestens gerüstet, um Ihren Kubernetes-Cluster skalierbar und stabil zu betreiben. Optimierung der Kubernetes-Ressourcennutzung: Horizontal Pod Autoscaler und Metrics Server im Fokus

Kostenlosen Account erstellen

Registrieren Sie sich jetzt und erhalten Sie Zugang zu unseren Cloud Produkten.

Das könnte Sie auch interessieren:

centron Managed Cloud Hosting in Deutschland

Gespeicherte Abläufe in MySQL: Ein umfassender Leitfaden

MySQL
Gespeicherte Abläufe in MySQL Content1 Einführung2 Voraussetzungen3 Verbindung zu MySQL und Einrichten einer Beispieldatenbank4 Einführung in Stored Procedures5 Erstellen eines gespeicherten Ablaufs in MySQL ohne Parameter6 Erstellen eines gespeicherten Ablaufs…
centron Managed Cloud Hosting in Deutschland

Extended Security Updates für Windows Server

Security
Extended Security Updates für Windows Server Extended Security Updates (ESU) für Windows Server umfassen Sicherheitsupdates und Bulletins, die als kritisch und wichtig eingestuft sind. Content1 Wie Sie ESUs erhalten, hängt…
centron Managed Cloud Hosting in Deutschland

Windows Server Vergleich

Security
Windows Server Vergleich Diese Tabelle bietet einen vollständigen Vergleich der verfügbaren Rollen und Funktionen in Windows Server 2025 für Standard, Datacenter und Datacenter: Azure Edition. Windows Server 2025Windows Server 2022Windows…