← До фільтрів та технологій

← До списку лабораторних по Kubernetes

Kubernetes Лабораторна 14: Розгортання агентів через DaemonSet

Технологія: Kubernetes

Номер лабораторної: 14 · Рівень: middle

Тема: DaemonSet агенти на всіх нодах

Повний опис / сценарій лабораторної:

Мета: навчитися використовувати daemonset для запуску одного pod на кожній ноді.



Крок 1. Ознайомитися з ідеєю daemonset.

Пояснення: daemonset гарантує, що на кожній ноді є один pod, наприклад агент моніторингу.



Крок 2. Написати yaml для простого daemonset.

Ідея: контейнер busybox, який періодично друкує hostname ноди і sleep.

Пояснення: це дозволить чітко побачити, на яких нодах він працює.



Крок 3. Застосувати daemonset.

Команда: kubectl apply -f ds-hostname.yaml

Пояснення: створюється daemonset і запускається по одному pod на ноду.



Крок 4. Перевірити pod за daemonset.

Команда: kubectl get pods -o wide -l app=ds-hostname

Пояснення: подивись, що pod розміщені на різних нодах.



Крок 5. Зайти в один pod і подивитися hostname.

Команда: kubectl exec -it <ds-pod> -- sh

Пояснення: команда hostname покаже імя ноди.



Крок 6. Додати нову воркер ноду в кластер.

Пояснення: якщо є можливість, приєднай додаткову ноду і перевір, що daemonset автоматично запускає pod і там.



Крок 7. Видалити одну ноду або помітити її як unschedulable.

Пояснення: перевір, як змінюється кількість pod daemonset.



Крок 8. Оновити образ у daemonset.

Пояснення: зміни образ у yaml і повторно застосуй конфіг, подивись, як оновлюються pod.



Крок 9. Видалити daemonset.

Команда: kubectl delete ds ds-hostname

Пояснення: всі повязані pod будуть видалені.



Крок 10. Міні звіт.

Завдання: наведи приклади агентів, які має сенс запускати через daemonset.