← До списку лабораторних по Kubernetes
Повний опис / сценарій лабораторної:
Мета: навчитися використовувати 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.