CodeBlanks Logo Icon CodeBlanks

DaemonSet YAML

DaemonSet YAML yapısını öğrenirsin.

DaemonSet YAML

DaemonSet YAML'ı Deployment'ın replicas'sız hâlidir: selector ve pod şablonu yeterlidir:

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: node-exporter
  namespace: izleme
spec:
  selector:
    matchLabels:
      app: node-exporter
  template:
    metadata:
      labels:
        app: node-exporter
    spec:
      containers:
        - name: exporter
          image: prom/node-exporter:v1.8.2
          ports:
            - containerPort: 9100

Bu örnekteki node-exporter, her node'un CPU, bellek, disk ve ağ ölçümlerini Prometheus'a sunar.

Node'a erişim

Node düzeyinde iş yapan DaemonSet'ler genellikle node'un dosya sistemini hostPath ile okur, ya da node'un ağını (hostNetwork: true) kullanır. Bunlar güçlü yetkilerdir; yalnızca gerektiğinde ve salt okunur verilmelidir:

    spec:
      hostNetwork: true
      volumes:
        - name: proc
          hostPath:
            path: /proc
      containers:
        - name: exporter
          volumeMounts:
            - name: proc
              mountPath: /host/proc
              readOnly: true

Uygulama DaemonSet yaz

Bir DaemonSet YAML'ı yaz: adı node-exporter, namespace'i izleme; selector ve şablon etiketi app: node-exporter; container adı exporter, image prom/node-exporter:v1.8.2, containerPort: 9100.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: node-exporter
  namespace: izleme
spec:
  selector:
    matchLabels:
      app: node-exporter
  template:
    metadata:
      labels:
        app: node-exporter
    spec:
      containers:
        - name: exporter
          image: prom/node-exporter:v1.8.2
          ports:
            - containerPort: 9100

Beklenen çıktı

daemonset.apps/node-exporter created

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 DaemonSet YAML'ına replicas: 3 yazılırsa ne olur?

  • Her node'da 3 pod çalışır
  • Yok sayılır
  • Geçersiz alan olarak reddedilir Doğru cevap
  • 3 node'da çalışır

Açıklama: DaemonSet spec'inde replicas alanı yoktur.

2 Node'un dizinini volume olarak bağla.

Soru
      volumes:
        - name: proc
          ____:
            path: /proc
Cevap
      volumes:
        - name: proc
          hostPath:
            path: /proc

Açıklama: hostPath node'daki bir yolu pod'a bağlar.

3 Eşleştir.

Kavram Anlamı
kind: DaemonSet apps/v1
hostPath Node dosya sistemi
hostNetwork Node ağı
node-exporter Node ölçümleri

İleri seviye bölümündeki tüm dersler