Rularea Serviciilor la Nivel de Nod cu DaemonSet în Kubernetes în Kubernetes (kubectl)

Ghid de utilizare a obiectului DaemonSet: garantarea execuției exacte a unei copii de Pod pe fiecare nod de lucru din cluster pentru agenți de monitorizare, colectare de loguri și plugin-uri de rețea CNI.

Sintaxă comandă
kubectl get daemonsets -n kube-system | kubectl rollout restart ds/node-exporter

Obiectul DaemonSet garantează că toate (sau o selecție de) noduri active din cluster rulează exact o copie a unui Pod specificat. Pe măsură ce noduri noi sunt adăugate în cluster (de exemplu prin autoscalare cloud la ore de vârf), DaemonSet-ul pornește automat un Pod pe noul nod. Când nodurile sunt eliminate din cluster, Pod-urile asociate sunt distruse automat de garbage collector.

DaemonSet pentru Prometheus Node Exporter (monitorizare hardware)
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: node-exporter
  namespace: monitorizare
spec:
  selector:
    matchLabels:
      app: node-exporter
  template:
    metadata:
      labels:
        app: node-exporter
    spec:
      hostNetwork: true # Monitorizează direct interfața de rețea a gazdei
      hostPID: true     # Accesează arborele de procese al mașinii fizice
      containers:
        - name: node-exporter
          image: prom/node-exporter:v1.7.0
          securityContext:
            readOnlyRootFilesystem: true
          volumeMounts:
            - name: proc
              mountPath: /host/proc
              readOnly: true
            - name: sys
              mountPath: /host/sys
              readOnly: true
      volumes:
        - name: proc
          hostPath:
            path: /proc
        - name: sys
          hostPath:
            path: /sys

Cazuri clasice de utilizare pentru DaemonSet:

  • Colectarea de jurnale (Logging): Rularea unui agent precum Fluentbit, Promtail sau Vector pe fiecare nod pentru a trimite logurile către Elasticsearch sau Grafana Loki.
  • Monitorizarea infrastructurii: Agenți precum Prometheus Node Exporter sau Datadog Agent.
  • Plugin-uri de rețea și stocare (CNI/CSI): Drivere fundamentale precum Cilium, Calico sau Ceph-RBD.