TGViewer
DevOps Star (Звезда Девопса) DevOps Star (Звезда Девопса) @devops_star · 2.12K subscribers
Post #764 436
Какая роль у контроллера DaemonSet?

Контроллер DaemonSet в Kubernetes играет важную роль в обеспечении того, чтобы определённый под (Pod) запускался на каждом узле (Node) кластера (или на определённом подмножестве узлов, если заданы ограничения). Основные задачи и функции контроллера DaemonSet:

1. Запуск подов на каждом узле
- DaemonSet гарантирует, что на каждом узле кластера будет запущен экземпляр указанного пода.
- Это полезно для задач, которые должны выполняться на каждом узле, например:
- Сбор логов (например, Fluentd, Logstash).
- Мониторинг (например, Prometheus Node Exporter).
- Сетевые плагины (например, Calico, Weave).
- Хранение данных (например, распределённые хранилища).

2. Автоматическое добавление подов при добавлении новых узлов
- Когда в кластер добавляется новый узел, DaemonSet автоматически создаёт на нём под.
- Это обеспечивает согласованность и автоматизацию развёртывания.

3. Удаление подов при удалении узлов
- Если узел удаляется из кластера, DaemonSet автоматически удаляет под, связанный с этим узлом.

4. Поддержка селекторов и толерантностей
- DaemonSet позволяет использовать селекторы для выбора узлов, на которых будут запускаться поды.
- Также можно использовать толерантности (tolerations), чтобы разрешить запуск подов на узлах с определёнными метками (например, на узлах с taint node-role.kubernetes.io/master).

5. Обновление и управление подами
- DaemonSet поддерживает стратегии обновления (например, RollingUpdate или OnDelete), что позволяет обновлять поды на узлах с минимальным простоем.
- Контроллер следит за состоянием подов и обеспечивает их корректную работу.


Примеры использования DaemonSet:
- Сетевые плагины: Запуск сетевых агентов на каждом узле для обеспечения сетевой связности.
- Мониторинг: Запуск агентов сбора метрик (например, Prometheus Node Exporter) на каждом узле.
- Логирование: Запуск агентов сбора логов (например, Fluentd) на каждом узле.
- Хранение данных: Запуск компонентов распределённых хранилищ (например, Ceph, GlusterFS).

Отличие DaemonSet от других контроллеров:
- Deployment: Запускает определённое количество реплик подов, которые могут быть распределены по любым узлам.
- StatefulSet: Управляет подами с устойчивыми идентификаторами и хранилищем.
- DaemonSet: Запускает по одному поду на каждом узле (или на подмножестве узлов).


Таким образом, роль контроллера DaemonSet заключается в обеспечении запуска и поддержания определённого пода на каждом узле кластера, что делает его идеальным инструментом для задач, которые должны выполняться на всех узлах.

📲 Мы в MAX

#devops #девопс

👉 @devops_star
  • 👍 1
More from @devops_star
  1. Sep 23, 2026🔍 AIOps против DevOps Может ли AIOps полностью заменить DevOps? 🔄 1/ 💡 Культура имеет з…
  2. Sep 21, 2026Инструментарий инженера DevOps🧰🎒 Операционная система → Linux (recommended), Windows Про…
  3. Sep 17, 2026Стратегии деплоя: как мы пришли к использованию Argo CD Сегодня хочу затронуть тему, котор…
  4. Sep 14, 2026Автоматизируем выпуск валидных SSL-сертификатов в локальном Kubernetes В данном туториале…
  5. Sep 10, 2026Коротко обо мне ) 📲 Мы в MAX #devops #девопс 👉 @devops_star
  6. Sep 8, 2026Kamal — это инструмент для деплоя контейнеризированных приложений, разработанный Basecamp.…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →