Middle
Kubernetesda DaemonSet ning amaliy qo'llanilishi nima?
sobes.tech AI
AIdan javob
DaemonSet klasterdagi barcha (yoki belgilangan kichikroq to'plamdagi) tugunlarda pod ishga tushirilishini ta'minlaydi. Bu har bir tugunda ishlash kerak bo'lgan tizim demonlarini joylashtirish uchun foydalidir.
Amaliy qo'llanmalar:
- Loglarni yig'ish: Har bir tugunda loglarni yig'uvchi agentni (masalan, Fluentd, Logstash) ishga tushirish va loglarni markaziy saqlashga yuborish.
- Tugunlarni monitoring qilish: Har bir tugunda monitoring agentini (masalan, Prometheus Node Exporter, Datadog Agent) joylashtirish va tugun holati metriklarini yig'ish.
- Klaster saqlash: Har bir tugunda tarqatilgan saqlash demonini (masalan, Ceph, Glusterfs) ishga tushirish va tarqatilgan saqlashni ta'minlash.
- Xavfsizlik agentlari: Har bir tugunda xavfsizlik yoki audit agentlarini joylashtirish.
Deployment bilan farqi: DaemonSet har bir tugunda pod yaratadi, Deployment esa klaster bo'ylab belgilangan replikalar sonini saqlashga harakat qiladi va ularni mavjud tugunlar orasida taqsimlaydi.
Loglarni yig'ish agenti uchun DaemonSet misoli:
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: fluentd-elasticsearch
labels:
k8s-app: fluentd-logging
spec:
selector:
matchLabels:
name: fluentd-elasticsearch
template:
metadata:
labels:
name: fluentd-elasticsearch
spec:
containers:
- name: fluentd-elasticsearch
image: fluentd/fluentd-kubernetes-daemonset:v1.14-debian-elasticsearch7-1
env:
- name: FLUENT_ELASTICSEARCH_HOST
value: "elasticsearch.default.svc.cluster.local" # Elasticsearch manzili misoli
- name: FLUENT_ELASTICSEARCH_PORT
value: "9200"
- name: FLUENT_ELASTICSEARCH_SCHEME
value: "http"
volumeMounts:
- name: varlog
mountPath: /var/log
- name: varlibdockercontainers
mountPath: /var/lib/docker/containers
readOnly: true
terminationGracePeriodSeconds: 30
volumes:
- name: varlog
hostPath:
path: /var/log
- name: varlibdockercontainers
hostPath:
path: /var/lib/docker/containers
DaemonSet yangi tugunlarda avtomatik ravishda pod qo'shadi va tugun klasterdan olib tashlanganda uni olib tashlaydi.