Middle
Kubernetes-ში DaemonSet-ის პრაქტიკული გამოყენება რა არის?
sobes.tech AI
პასუხი AI-სგან
DaemonSet უზრუნველყოფს, რომ პოდია გაშვებულია ყველა (ან მითითებულ ქვედანაყოფზე) ნეტვზე კლასტერში. ეს სასარგებლოა სისტემური დემონების განთავსებისთვის, რომლებიც უნდა მუშაობდნენ თითოეულ ნეტვზე.
პრაქტიკული გამოყენებები:
- ლოგების შეგროვება: ლოგების შეგროვების აგენტის (მაგალითად, Fluentd, Logstash) გაშვება თითოეულ ნეტვზე, რათა ლოგები გადაეცეს ცენტრალიზებულ საცავში.
- ნეტვების მონიტორინგი: მონიტორინგის აგენტის (მაგალითად, Prometheus Node Exporter, Datadog Agent) განთავსება თითოეულ ნეტვზე, რათა შეგროვდეს ნეტვზე სტატუსის მეტრიკები.
- კლასტერული საცავი: დომენის დისტრიბუციული საცავის განთავსება (მაგალითად, Ceph, Glusterfs) თითოეულ ნეტვზე, რათა უზრუნველყოს დისტრიბუციული შენახვა.
- უსაფრთხოების აგენტები: უსაფრთხოების ან აუდიტის აგენტების განთავსება თითოეულ ნეტვზე.
განსხვავება Deployment-დან: DaemonSet ქმნის პოდს თითოეულ ნეტვზე, ხოლო Deployment ცდილობს შეინარჩუნოს მოთხოვნადი რეპლიკების რაოდენობა მთელ კლასტერში, განაწილებით ხელმისაწვდომ ნეტვებზე.
DaemonSet-ის მაგალითი ლოგების შეგროვების აგენტის მანიაფესტისთვის:
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-ის მისამართის
- 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 ავტომატურად დამატებს პოდს ახალ ნეტვებზე და წაშლის მას ნეტვიდან კლასტერში წაშლისას.