>_ IzzyLab

Практическое задание

k8s: DaemonSet

средне

В /root/ds.yaml лежит Deployment agent с тремя репликами. Но по смыслу это узловой агент — он должен работать по одному экземпляру на каждом узле, а не фиксированным числом реплик. Переделай манифест в DaemonSet.

Что потренируешь:
  • kubernetes
  • daemonset
  • deployment
  • yq
  • рабочие нагрузки

Разбор темы

Разные контроллеры рабочих нагрузок решают разные задачи: Deployment держит заданное число реплик где угодно в кластере, а DaemonSet гарантирует ровно один под на КАЖДОМ узле — это модель для узловых агентов (сбор логов, метрик, сетевые плагины). При смене типа важно, что схемы объектов различаются: у DaemonSet нет поля spec.replicas, и если его оставить, строгая валидация (kubeconform -strict) отвергнет манифест как содержащий лишнее поле. Селектор и шаблон пода при этом переносятся без изменений, apiVersion остаётся apps/v1.

Что проверяется

  1. манифест валиден (kubeconform)
  2. kind = DaemonSet
  3. селектор app: agent

Как это выглядит