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

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

Kubernetes Лабораторна 45: Downward API для доступу до метаданих pod

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

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

Тема: Downward API env та volume

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

Мета: навчитися отримувати імя 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 у логуванні та метриках.