Özet - DaemonSet
- Docker & Kubernetes kursu
- İleri seviye
- Ders 24/70
- 5 dk
YAML ve nodeSelector'ü birleştirerek bir DaemonSet yazarsın.
Özet: DaemonSet
Bu grupta:
- DaemonSet her uygun node'da tam bir pod çalıştırır; node eklenince/çıkınca pod da eklenir/çıkar.
- YAML:
apps/v1,kind: DaemonSet, selector + template;replicasyoktur. nodeSelector/nodeAffinitynode'ları seçer;tolerationstaint'li node'lara izin verir.- Kullanım: log toplama, izleme, ağ, depolama, güvenlik ajanları; kaynak sınırları node sayısıyla çarpılır.
- Güncelleme:
RollingUpdate(maxUnavailable) ya daOnDelete;rolloutkomutları çalışır.
kubectl get ds -A
kubectl rollout status ds/node-exporter -n izlemeUygulama Her node'da toplayıcı
Bir DaemonSet şablonunun spec bölümünü yaz (spec: ile başlayarak): tolerations altında key: node-role.kubernetes.io/control-plane, operator: Exists, effect: NoSchedule; container adı fluent-bit, image fluent/fluent-bit:3.1.
Başlangıç kodu
# buraya yazÖrnek çözüm
spec:
tolerations:
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule
containers:
- name: fluent-bit
image: fluent/fluent-bit:3.1Beklenen çıktı
daemonset.apps/fluent-bit configured NAME DESIRED CURRENT READY fluent-bit 3 3 3
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Log toplayıcı DaemonSet control-plane node'unda çalışmıyorsa olası neden nedir?
- Image yanlış
- Namespace yanlış
- Node'daki NoSchedule taint'i için toleration yok Doğru cevap
- replicas eksik
Açıklama: control-plane node'ları varsayılan olarak taint'lidir.
2 Taint'e izin ver.
____:
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule
tolerations:
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule
Açıklama: tolerations pod'un taint'li node'a yerleşmesine izin verir.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
DaemonSet |
Node başına |
nodeSelector |
Node seçimi |
tolerations |
Taint izni |
OnDelete |
Denetimli güncelleme |