Service

Service

Ein Service in Kubernetes ist eine Abstraktion, die einer Anwendung im Cluster eine feste Adresse (Name + Port) gibt – unabhängig davon, wie oft sich die dahinterliegenden Pods ändern oder neu starten.

Das ist nötig, weil Pods in Kubernetes flüchtig sind: Sie können jederzeit neu erstellt werden und bekommen dabei oft eine neue IP-Adresse. Ohne Service müsstest du ständig die aktuelle IP jedes Pods kennen – was praktisch unmöglich ist.

Ein Service löst dieses Problem, indem er:

  1. Einen festen DNS-Namen im Cluster bereitstellt (z. B. shop-service.default.svc.cluster.local).
  2. Lastverteilung (Load Balancing) zwischen mehreren Pods übernimmt, die dieselbe Anwendung ausführen.
  3. Über Labels automatisch die passenden Pods findet, die er bedienen soll (Label-Selector).

Es gibt verschiedene Arten von Services:

  • ClusterIP (Standard) – erreichbar nur innerhalb des Clusters.
  • NodePort – öffnet einen Port auf jedem Cluster-Node für den Zugriff von außen.
  • LoadBalancer – bindet einen Cloud-Load-Balancer ein (z. B. AWS ELB, GCP LB).
  • ExternalName – leitet Anfragen an einen externen DNS-Namen weiter.

Kurz gesagt: Ein Service ist wie ein dauerhaftes Namensschild mit Weiterleitung zu den richtigen Pods – egal, wie oft diese ihre Adresse ändern.

Die Kommentare sind geschlossen.