← До списку лабораторних по Kubernetes
Повний опис / сценарій лабораторної:
Мета: змоделювати патерн sidecar де окремий контейнер експортує метрики додатка. Крок 1. Підготувати невеликий веб сервіс. Пояснення: можна використати nginx або свій образ що віддає html. Крок 2. Додати у pod sidecar контейнер exporter. Опис: sidecar читає access логи або статус сервісу та експортує метрики на порт metrics. Крок 3. Створити спільний том для логів. Пояснення: основний контейнер пише логи у /var/log/app, sidecar читає їх з цього каталогу. Крок 4. Написати yaml pod з обома контейнерами. Пояснення: перевір що volume і volumeMount налаштовані однаково. Крок 5. Застосувати pod. Команда: kubectl apply -f pod-sidecar-metrics.yaml Пояснення: pod має перейти у стан Running. Крок 6. Створити service для доступу до метрик. Команда: kubectl expose pod sidecar-demo --name=metrics-svc --port=9100 --target-port=9100 Пояснення: prometheus зможе читати ці метрики. Крок 7. Перевірити метрики через curl. Команда: kubectl run curl-m --rm -it --image=radial/busyboxplus:curl --restart=Never -- sh -c "curl metrics-svc:9100/metrics | head" Пояснення: переконайся що метрики справді доступні. Крок 8. Згенерувати трохи трафіку на основний сервіс. Пояснення: зроби декілька http запитів до веб сторінки. Крок 9. Знову подивитися метрики. Пояснення: переконайся що метрики відображають нову активність. Крок 10. Міні звіт. Завдання: опиши у яких випадках sidecar exporter кращий за node exporter або прямий scrape додатка.