Zurück zur Übersicht

Begriff

DaemonSet

Kubernetes Workloads S2
2 Quellen 0 Lernpfade 0 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

In Kubernetes willst du meistens: "Starte 3 Kopien meiner App, egal wo." (Das macht ein Deployment). Aber manchmal willst du: "Starte genau eine Kopie auf jedem Computer (Node) im Cluster". Beispiele:

  • Ein Programm, das Logs sammelt (Fluentd).
  • Ein Programm, das Metriken misst (Prometheus Node Exporter).
  • Ein Netzwerk-Plugin (CNI). Das ist ein DaemonSet. Wenn du einen neuen Node zum Cluster hinzufügst, startet Kubernetes dort automatisch den DaemonSet-Pod. Wenn du einen Node entfernst, wird der Pod gelöscht (und nicht woanders neu gestartet).

Merksatz: Ein Kubernetes Workload-Controller, der sicherstellt, dass auf allen (oder bestimmten) Nodes genau eine Instanz (Replica) eines Pods läuft.


Quick-Check

  1. Unterschied zu ReplicaSet?
    ReplicaSet sagt "Ich will X Kopien". DaemonSet sagt "Ich will X Kopien PRO NODE". ReplicaSet kümmert sich nicht, wo sie laufen (können alle auf Node 1 sein).
  2. Was passiert im "Scale Up"?
    Wenn der Cluster Auto-Scaler neue Nodes hinzufügt (weil Last hoch ist), bemerkt der DaemonSet-Controller das sofort und startet dort seinen Pod. Das ist wichtig, damit der neue Node sofort Logs sendet und im Netzwerk ist.
  3. Static Pods?
    DaemonSets werden vom API-Server verwaltet. Static Pods (z. B. etcd, kube-apiserver selbst) werden direkt vom Kubelet auf dem Node gestartet (yaml-Datei in /etc/kubernetes/manifests). Ähnliches Konzept (einer pro Node), aber Static Pods laufen "außerhalb" der normalen Control Plane Logik.