← До списку лабораторних по Kubernetes
Повний опис / сценарій лабораторної:
Мета: навчитися отримувати імя pod namespace та ресурси контейнера з downward api. Крок 1. Написати yaml pod з env які використовують downward api. Опис: додай env POD_NAME з valueFrom fieldRef metadata.name та POD_NAMESPACE з fieldRef metadata.namespace. Пояснення: додаток зможе дізнатися власні метадані без запитів до kube api. Крок 2. Додати volume з type downwardAPI. Пояснення: том може містити файли з ресурсами і полями pod. Крок 3. Змонтувати том у контейнер. Опис: наприклад у каталог /etc/podinfo. Пояснення: у цьому каталозі будуть файли з потрібними даними. Крок 4. Застосувати pod. Команда: kubectl apply -f pod-downward.yaml Пояснення: pod має перейти у стан Running. Крок 5. Перевірити змінні середовища. Команда: kubectl exec -it pod-downward -- env | grep POD_ Пояснення: переконайся що значення відповідають реальним метаданим pod. Крок 6. Перевірити файли у каталозі podinfo. Команда: kubectl exec -it pod-downward -- ls /etc/podinfo Пояснення: має бути кілька файлів з полями які ти задав у yaml. Крок 7. Подивитися вміст файлу з ресурсами. Пояснення: якщо ти додав resourceFieldRef наприклад limits.cpu відкрий цей файл і перевір значення. Крок 8. Порівняти env і файлові значення. Пояснення: зрозумій у яких випадках зручніше використовувати env а коли файл. Крок 9. Оновити pod із зміною ресурсів. Пояснення: змінюючи limits у yaml подивись як оновлюються значення у downward api файлах. Крок 10. Міні звіт. Завдання: опиши практичні сценарії використання downward api у логуванні та метриках.