это вообще работает.
Есть набор иммутабельных конфигмапов. Поменял значения внутри, удалил, применил. kubectl decribe cm/<configmap> отображает новые значения, но на деле в контейнере используются старые. Как зафорсить использовать новые? Использую DaemonSet, если это важно.
Реролл демонсету сделать
- перезапустить под (ну понятно это не для всех вариант) - использовать сайдкар контейнер типа reload config для демонсета
сайдкар звучит немного громоздко, а вот идея с роллаутом(если я правильно понял) выглядит вполне неплохо
Ну если азинтересует сайдкар, то реализацию можно глянуть тип такого: https://github.com/jimmidyson/configmap-reload там не сложно
есть еще варианты
Это же сработает на енвы?
Что, кстати, имелось в виду? kubectl rollout restart ds/<ds> не сработало, просто рестарт
Расскажи, я кроме релоада не знаю ничего.
переписать приложение, чтобы оно само ходило в апи кубера
https://github.com/stakater/Reloader
https://github.com/stakater/Reloader
Короче, я опять пришел к костылями, лишь бы не городить ещё бОльшие костыли: kind: DaemonSet -> Deployment spec: replicas: 1 strategy: type: Recreate *меняю иммутабельный конфигмап* kubectl delete -f <configmap>.yaml kubectl apply -f <configmap>.yaml kubectl rollout restart -f <deployment>.yaml Все, новый конфигмап применяется.
Обсуждают сегодня