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

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

Kubernetes Лабораторна 55: Автоматичні smoke тести у кластері

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

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

Тема: Pod для smoke тестів після релізу

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

Мета: навчитися запускати pod з smoke тестами які перевіряють роботу сервісу всередині кластера.



Крок 1. Підготувати простий скрипт smoke тестів.

Пояснення: це може бути shell скрипт який робить декілька http запитів і перевіряє коди відповідей.



Крок 2. Створити configmap з цим скриптом.

Команда: kubectl create configmap smoke-script --from-file=smoke.sh

Пояснення: скрипт буде змонтований у pod.



Крок 3. Написати yaml job smoke-test.

Опис: контейнер з образом busybox монтує скрипт і виконує його, повертаючи код завершення за результатом тестів.

Пояснення: job зручний тим що легко бачити чи він completed чи failed.



Крок 4. Запустити smoke job після оновлення deployment.

Команда: kubectl apply -f job-smoke.yaml

Пояснення: тести мають виконатися від імені кластера.



Крок 5. Перевірити статус job.

Команда: kubectl get job smoke-test

Пояснення: статус completed означає що базові перевірки пройшли.



Крок 6. Переглянути логи job.

Команда: kubectl logs job/smoke-test

Пояснення: там видно деталі кожного кроку smoke сценарію.



Крок 7. Зімітувати помилку у сервісі.

Пояснення: наприклад змінити endpoint у конфізі deployment на неправильний.



Крок 8. Повторно запустити job.

Команда: kubectl delete job smoke-test; kubectl apply -f job-smoke.yaml

Пояснення: тепер job має завершитися з помилкою.



Крок 9. Інтегрувати запуск job у процес релізу.

Пояснення: продумай як викликати kubectl apply job-smoke з ci cd пайплайну.



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

Завдання: опиши які саме перевірки ти включиш у smoke сценарій для веб сервісу.