Benutzer-Werkzeuge

Webseiten-Werkzeuge


it-wiki:kubernetes:kubernetes-headless-service

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
it-wiki:kubernetes:kubernetes-headless-service [2025/04/27 07:16] markoit-wiki:kubernetes:kubernetes-headless-service [2025/04/27 07:18] (aktuell) marko
Zeile 6: Zeile 6:
  
 Wir werden zunächst die grundlegende Konfiguration eines Headless Service behandeln und anschließend an einer praktischen Demonstration sehen, wie man ihn in der Praxis einsetzen kann. Wir werden zunächst die grundlegende Konfiguration eines Headless Service behandeln und anschließend an einer praktischen Demonstration sehen, wie man ihn in der Praxis einsetzen kann.
-\\ 
  
 +\\
 ===== Headless Service ===== ===== Headless Service =====
 In Kubernetes bezeichnet man einen Headless Service als eine Service-Ressource, der keine Cluster-IP-Adresse zugewiesen wird. In Kubernetes bezeichnet man einen Headless Service als eine Service-Ressource, der keine Cluster-IP-Adresse zugewiesen wird.
Zeile 35: Zeile 35:
  
 Dabei verwenden wir die Option -o go-template, um speziell das Feld clusterIP des Services auszulesen. Wie zu erwarten war, weist die Kubernetes control plane einer Headless-Service-Ressource keine IP-Adresse zu. Dabei verwenden wir die Option -o go-template, um speziell das Feld clusterIP des Services auszulesen. Wie zu erwarten war, weist die Kubernetes control plane einer Headless-Service-Ressource keine IP-Adresse zu.
-\\ 
  
 +\\
 ===== Eigenschaften eines Headless Service ===== ===== Eigenschaften eines Headless Service =====
 Bei der Namensauflösung eines typischen Service liefert der DNS-Server eine einzelne IP-Adresse zurück – die sogenannte Cluster-IP, die von der Control Plane zugewiesen wurde. Anders verhält es sich bei einem Headless Service: Hier gibt eine DNS-Abfrage eine Liste von IP-Adressen zurück, die zu den einzelnen, unterstützenden Pods gehören. Bei der Namensauflösung eines typischen Service liefert der DNS-Server eine einzelne IP-Adresse zurück – die sogenannte Cluster-IP, die von der Control Plane zugewiesen wurde. Anders verhält es sich bei einem Headless Service: Hier gibt eine DNS-Abfrage eine Liste von IP-Adressen zurück, die zu den einzelnen, unterstützenden Pods gehören.
  
 Diese Funktionsweise ermöglicht Anwendungsfälle, die mit einem normalen Service nicht realisierbar wären. Beispielsweise kann ein Monitoring-Dienst mithilfe eines Headless Service gezielt alle IP-Adressen der zugehörigen Pods ermitteln und so individuelle Health-Check-Anfragen verschicken. Bei einem regulären Service wäre nicht sichergestellt, welcher Pod die Anfrage entgegennimmt. Diese Funktionsweise ermöglicht Anwendungsfälle, die mit einem normalen Service nicht realisierbar wären. Beispielsweise kann ein Monitoring-Dienst mithilfe eines Headless Service gezielt alle IP-Adressen der zugehörigen Pods ermitteln und so individuelle Health-Check-Anfragen verschicken. Bei einem regulären Service wäre nicht sichergestellt, welcher Pod die Anfrage entgegennimmt.
 +
 \\ \\
- 
 ===== Headless Service in Aktion ===== ===== Headless Service in Aktion =====
- 
 In diesem Abschnitt richten wir die notwendigen Ressourcen ein, um die Funktionsweise eines Headless-Services zu demonstrieren. In diesem Abschnitt richten wir die notwendigen Ressourcen ein, um die Funktionsweise eines Headless-Services zu demonstrieren.
  
Zeile 103: Zeile 102:
 app-stateful-2   1/    Running            31m app-stateful-2   1/    Running            31m
 </code> </code>
-\\ 
  
 ==== Erstellen eines Ephemeral Containers ==== ==== Erstellen eines Ephemeral Containers ====
Zeile 138: Zeile 136:
 \\ \\
  
-==== 4.3. Auflösung der IP-Adresse eines bestimmten Pods ====+==== Auflösung der IP-Adresse eines bestimmten Pods ====
 Möchten wir die IP-Adresse eines bestimmten Pods ermitteln, der dem Headless-Service zugeordnet ist, fügen wir den Namen des Pods als Subdomain zum Domainnamen des Headless-Services hinzu.   Möchten wir die IP-Adresse eines bestimmten Pods ermitteln, der dem Headless-Service zugeordnet ist, fügen wir den Namen des Pods als Subdomain zum Domainnamen des Headless-Services hinzu.  
  
Zeile 152: Zeile 150:
  
 Anstatt wie zuvor alle IP-Adressen der zugehörigen Pods zurückzugeben, liefert der Befehl nun lediglich die IP-Adresse des spezifischen Pods ''app-stateful-1''. Anstatt wie zuvor alle IP-Adressen der zugehörigen Pods zurückzugeben, liefert der Befehl nun lediglich die IP-Adresse des spezifischen Pods ''app-stateful-1''.
-\\ 
  
 +\\
 ===== Fazit ===== ===== Fazit =====
 In diesem Tutorial haben wir uns kurz mit dem Service-Objekt im Kubernetes-Umfeld beschäftigt und dabei erfahren, dass es sich bei einem Headless-Service im Grunde um einen Service ohne Cluster-IP handelt. Aufgrund des Fehlens einer Cluster-IP verhalten sich Headless-Services anders als reguläre Services.   In diesem Tutorial haben wir uns kurz mit dem Service-Objekt im Kubernetes-Umfeld beschäftigt und dabei erfahren, dass es sich bei einem Headless-Service im Grunde um einen Service ohne Cluster-IP handelt. Aufgrund des Fehlens einer Cluster-IP verhalten sich Headless-Services anders als reguläre Services.  
  
 Abschließend haben wir ein Beispiel durchgespielt, das zeigt, wie Headless-Services besonders in StatefulSet-Pods nützlich sind, um gezielt die IP-Adresse eines bestimmten Pods zu ermitteln. Abschließend haben wir ein Beispiel durchgespielt, das zeigt, wie Headless-Services besonders in StatefulSet-Pods nützlich sind, um gezielt die IP-Adresse eines bestimmten Pods zu ermitteln.
it-wiki/kubernetes/kubernetes-headless-service.txt · Zuletzt geändert: 2025/04/27 07:18 von marko