CodeBlanks Logo Icon CodeBlanks

DaemonSet nedir?

DaemonSet'in her node'da bir Pod çalıştırdığını öğrenirsin.

DaemonSet nedir?

DaemonSet, cluster'daki her node'da (ya da seçilen node'larda) bir pod kopyası çalıştırır. Kopya sayısı yazılmaz; node eklenince yeni node'a otomatik bir pod yerleşir, node çıkarılınca pod'u da kaldırılır.

$ kubectl get ds -A
NAMESPACE     NAME            DESIRED   CURRENT   READY   NODE SELECTOR
kube-system   kube-proxy      3         3         3       kubernetes.io/os=linux
izleme        node-exporter   3         3         3       <none>

kube-proxy ve ağ eklentileri (Calico, Cilium) de DaemonSet olarak çalışır.

Deployment ile farkı

Deployment "N kopya, nerede olursa" der; zamanlayıcı birden çok kopyayı aynı node'a koyabilir. DaemonSet "her node'da tam bir kopya" der. Node'a özgü işler (node'un diskini, log'larını, ağını izlemek) için DaemonSet doğru seçimdir:

Deployment (replicas: 3):  worker-1: 2 pod  worker-2: 1 pod  worker-3: 0 pod
DaemonSet:                 worker-1: 1 pod  worker-2: 1 pod  worker-3: 1 pod

Uygulama DaemonSet'leri bul

İki komut yaz: tüm namespace'lerdeki DaemonSet'leri listele; app=node-exporter etiketli pod'ları izleme namespace'inde geniş biçimde (node sütunuyla) listele.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
kubectl get ds -A
kubectl get pods -n izleme -l app=node-exporter -o wide

Beklenen çıktı

NAMESPACE     NAME            DESIRED   CURRENT   READY
kube-system   kube-proxy      3         3         3
izleme        node-exporter   3         3         3
NAME                  READY   STATUS    IP             NODE
node-exporter-4k2lp   1/1     Running   192.168.49.2   control-plane
node-exporter-9xq7z   1/1     Running   192.168.49.3   worker-1
node-exporter-m3n8r   1/1     Running   192.168.49.4   worker-2

Soru ve cevaplar

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

1 3 node'lu bir cluster'a dördüncü node eklenince DaemonSet ne yapar?

  • Hiçbir şey; replicas değiştirilmeli
  • Tüm pod'ları yeniden başlatır
  • Hata verir
  • Yeni node'a otomatik bir pod yerleştirir Doğru cevap

Açıklama: DESIRED değeri uygun node sayısına eşittir.

2 DaemonSet'leri kısaltmayla listele.

Soru
kubectl get ____ -A
Cevap
kubectl get ds -A

Açıklama: ds daemonsets'in kısaltmasıdır.

3 Eşleştir.

Kavram Anlamı
DaemonSet Her node'da bir pod
Deployment N kopya, herhangi bir yerde
DESIRED Uygun node sayısı
kube-proxy DaemonSet örneği

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