Yura
Да
А ещё такой вопрос: внутри инит-контейнера просто vault client?
Mikhail [azalio]
Mikhail [azalio]
Ну и jq
Oleksii
G72K
G72K
Andrey
Nik
Кто нибудь использовал coredns как dns для внешнего мира, на который делегирована зона?
𝚔𝚟𝚊𝚙𝚜
попробал ksonnet теперь доволен как слон, @rossmohax спасибо за наводку
Andor
хорош?
Andor
прям очень?
Andor
а то я так и не добрался
𝚔𝚟𝚊𝚙𝚜
ну я в него вдуплял долго, и еще продолжаю это делать, так что я еще в самом начале пути
𝚔𝚟𝚊𝚙𝚜
но то что есть, прям очень радует
𝚔𝚟𝚊𝚙𝚜
особенно то что можно генерить аппликухи прямо из хельм чартов, и декларативно их описывать
𝚔𝚟𝚊𝚙𝚜
без богомерзкого хелма и tiller :)
Andrey
как там в ksonnet решается стандартная проблема рестарта подов при обновлении configmap?
Rainbow
https://files-warehouse.com/files/stickers/31/3103/310395f670f3bf961c4b86ec897eeca3.jpg
в смысле изучать, давно присматривался.
Andor
𝚔𝚟𝚊𝚙𝚜
Andrey
ну helm же решает. ну то есть там есть w/a
Rainbow
Andrey
"просто env"?
Rainbow
"просто env"?
не использовать конфиги. Использовать env, по https://12factor.net/
Andrey
либо вы меня не поняли, либо я вас. Это вообще перпендикулярная вещь.
Andrey
есть deployment, который зависит от configmap. при обновлении configmap надо передёрнуть контейнеры. всё
Rainbow
Andor
эту проблему имхо не должна решать штука, которая генерирует манифесты для кубернетиса
𝚔𝚟𝚊𝚙𝚜
ну кстати да, если очень хочется, то можно сделать одну env для пода CONFIG_VERSION, и при изменении конфига просто обновлять переменную в поде, тогда и поды будут перезапускаться и rolling update работать будет
Andor
то, что к хельму прилепили костылик - не значит, что все так должны делать
Andrey
Andor
мне не надо про это рассказывать
𝚔𝚟𝚊𝚙𝚜
а как хельм это делает?
Andrey
𝚔𝚟𝚊𝚙𝚜
есть еще такой костыль:
kubectl get pod <pod_name> -o yaml | kubectl replace pod <pod_name> -f -
𝚔𝚟𝚊𝚙𝚜
Andrey
а как хельм это делает?
через w/a с аннотациями. В PodSpec включаются аннотации, которые считают хэш от срендеренного шаблона с configmap. Изменили configmap - изменился PodSpec в deployment
𝚔𝚟𝚊𝚙𝚜
𝚔𝚟𝚊𝚙𝚜
получается тоже самое что и с config version
Rainbow
Andrey
насколько мне известно, есть два применения: как переменные окружения, либо как volume
Andrey
Rainbow
md5 от конфига
Andrey
ключевое слово "руками" :)
𝚔𝚟𝚊𝚙𝚜
полагаю что в случае с ksonnet, можно тоже хэш посчитать от конфига и сохранить как переменную
Rainbow
ну если после правки конфига запускается ci/cd с apply, то руками ничего не нужно править.
Andrey
если deployment не поменялся, то поды не рестартанут
Andrey
никакой ci/cd без встраивания логики вам тут не поможет
Andrey
есть надежда, что этот вопрос когда нибудь решат в самом k8s
Andrey
оно правда джва года уже висит в запросах https://github.com/kubernetes/kubernetes/issues/22368
Andor
ну отслеживай своим прилжением изменение конфига
Andor
или юзай готовый костылик
Andor
Аккуратней, сначала лучше в текст преврати с форматированием, а потом бери хеш
Andor
Или это и так жсон?
𝚔𝚟𝚊𝚙𝚜
params.config - это string
config: |||
asdasda
asdasd dsfgsdfg sddf
sdfsdfsdfs
|||
Andor
А, прямо плейнтекстом
Andor
Я подумал что это параметры для конфигмапы
𝚔𝚟𝚊𝚙𝚜
параметры для конфигмапы можно передавать вот так:
"config": |||
ksonnet.is=%s
ksonnet.isalso=%s
||| % ["good", "interesting"],
Nik
вообще ктонить руками крутил coredns вне кубов?
𝚔𝚟𝚊𝚙𝚜
@elvis_live а чего ты хочешь решить?
Nik
В более простом мире - просто dns сервер, который у меня крутится кубе.
Nik
bind мне сильно не люб
Nik
нашел https://github.com/kubernetes-incubator/external-dns но пока не понял, то ли это что я хочу. пока читаю
𝚔𝚟𝚊𝚙𝚜
а dnsmasq?
Vadim
раньше dnsmasq укрощали, теперь из coredns'а dnsmasq хотят
Nik
но есть мнение, что coredns лучше в дизайн ляжет
Nik
целевое - интегарция с сервисами
Dmitry
С CoreDNS можно метрики промом собирать из коробки, а файлы зон как у bind (надо помнить о SOA, в отличие от dnsmasq)
Nik
When using external-dns with ingress objects it will automatically create DNS records based on host names specified in ingress objects that match the domain-filter argument in the external-dns deployment manifest. When those host names are removed or renamed the corresponding DNS records are also altered.
Nik
Красота, но почему отдельные интеграции на каждое облако, пока не понимаю.
Dmitry
Если ты в публичных облаках - норм
Dmitry
Потому как облака не договорились об API 😂
Nik
А если я внтури своей инфры. И делегируют мне зону то ли из бинда, то ли из AD (вообще темный лес)
G72K