Модуль pod-reloader создан на основе Reloader и предназначен для автоматического обновления подов при изменении ConfigMap и Secret. Для управления используются аннотации. Модуль запускается на системных узлах.
Подробнее о настройках модуля и примерах его использования — в документации модуля.
Архитектура модуля
Для упрощения схемы приняты следующие допущения:
- На схеме показано, что контейнеры разных подов взаимодействуют друг с другом напрямую. Фактически они взаимодействуют через соответствующие сервисы Kubernetes (внутренние балансировщики). Названия сервисов не указываются, если они очевидны из контекста. В остальных случаях название сервиса указано над стрелкой.
- Поды могут быть запущены в нескольких репликах, однако на схеме все поды изображены в одной реплике.
Архитектура модуля pod-reloader на уровне 2 модели C4 и его взаимодействие с другими компонентами DKP показаны на следующей диаграмме:

Компоненты модуля
Модуль pod-reloader состоит из одного компонента pod-reloader, включающего следующие контейнеры:
- manager — основной контейнер;
- kube-rbac-proxy — сайдкар-контейнер с авторизующим прокси на основе Kubernetes RBAC для защищённого доступа к метрикам pod-reloader. Является Open Source-проектом.
Взаимодействия модуля
Модуль взаимодействует с компонентом kube-apiserver:
- следит за изменениями ресурсов ConfigMap и Secret;
- выполняет перезапуск или обновление (rollout) подов;
- выполняет авторизацию запросов на получение метрик.
С модулем взаимодействует компонент prometheus-main — собирает метрики модуля.