Yura
Да
А ещё такой вопрос: внутри инит-контейнера просто vault client?
Mikhail [azalio]
Ну и jq
G72K
а можете подсказать, насчет их решения pivotal, работали? Это я так понял, кубер+пивотал+докер? Рассказывали на презентации, что они там с гугл напрямую работают, но стоит много денех.
Я вообще не понял о чём вопрос, видимо есть какой то неизвестный мне контекст. pivotal? docker? Google cloud? Какое это имеет отношение к VMware? Точно не в моем случае
G72K
я все понимаю, нужно забить гвоздь, а рядом кубер лежит
Куб надо даже на отдельный сервер ставить, слишком много хорошего из коробки, слишком все переносимо куда угодно. Прям будущее наступило
Nik
Кто нибудь использовал coredns как dns для внешнего мира, на который делегирована зона?
𝚔𝚟𝚊𝚙𝚜
попробал ksonnet теперь доволен как слон, @rossmohax спасибо за наводку
Andor
хорош?
Andor
прям очень?
Andor
а то я так и не добрался
𝚔𝚟𝚊𝚙𝚜
ну я в него вдуплял долго, и еще продолжаю это делать, так что я еще в самом начале пути
𝚔𝚟𝚊𝚙𝚜
но то что есть, прям очень радует
𝚔𝚟𝚊𝚙𝚜
особенно то что можно генерить аппликухи прямо из хельм чартов, и декларативно их описывать
𝚔𝚟𝚊𝚙𝚜
без богомерзкого хелма и tiller :)
Andrey
как там в ksonnet решается стандартная проблема рестарта подов при обновлении configmap?
Rainbow
https://files-warehouse.com/files/stickers/31/3103/310395f670f3bf961c4b86ec897eeca3.jpg в смысле изучать, давно присматривался.
Andrey
ну helm же решает. ну то есть там есть w/a
Andrey
"просто env"?
Rainbow
"просто env"?
не использовать конфиги. Использовать env, по https://12factor.net/
Andrey
либо вы меня не поняли, либо я вас. Это вообще перпендикулярная вещь.
Andrey
есть deployment, который зависит от configmap. при обновлении configmap надо передёрнуть контейнеры. всё
Andor
эту проблему имхо не должна решать штука, которая генерирует манифесты для кубернетиса
𝚔𝚟𝚊𝚙𝚜
ну кстати да, если очень хочется, то можно сделать одну env для пода CONFIG_VERSION, и при изменении конфига просто обновлять переменную в поде, тогда и поды будут перезапускаться и rolling update работать будет
Andor
то, что к хельму прилепили костылик - не значит, что все так должны делать
Andrey
эту проблему имхо не должна решать штука, которая генерирует манифесты для кубернетиса
то, что deployment решает проблемы с rolling update вас значит не смущает?
Andor
мне не надо про это рассказывать
𝚔𝚟𝚊𝚙𝚜
а как хельм это делает?
𝚔𝚟𝚊𝚙𝚜
есть еще такой костыль: kubectl get pod <pod_name> -o yaml | kubectl replace pod <pod_name> -f -
𝚔𝚟𝚊𝚙𝚜
либо так, либо вручную. В любом случае об этом надо помнить. В helm это делается автоматом.
не, мне интересно как именно он это делает, полагаю что примерно так же
Andrey
а как хельм это делает?
через w/a с аннотациями. В PodSpec включаются аннотации, которые считают хэш от срендеренного шаблона с configmap. Изменили configmap - изменился PodSpec в deployment
𝚔𝚟𝚊𝚙𝚜
получается тоже самое что и с config version
Andrey
насколько мне известно, есть два применения: как переменные окружения, либо как volume
Andrey
получается тоже самое что и с config version
config version надо руками менять
Rainbow
md5 от конфига
Andrey
ключевое слово "руками" :)
𝚔𝚟𝚊𝚙𝚜
полагаю что в случае с ksonnet, можно тоже хэш посчитать от конфига и сохранить как переменную
Rainbow
ну если после правки конфига запускается ci/cd с apply, то руками ничего не нужно править.
Andrey
если deployment не поменялся, то поды не рестартанут
Andrey
никакой ci/cd без встраивания логики вам тут не поможет
Andrey
полагаю что в случае с ksonnet, можно тоже хэш посчитать от конфига и сохранить как переменную
вот мне и интересно, как там это делается. Надо будет посмотреть. helm тоже многим не устраивает
Andrey
есть надежда, что этот вопрос когда нибудь решат в самом k8s
Andrey
оно правда джва года уже висит в запросах https://github.com/kubernetes/kubernetes/issues/22368
Andor
ну отслеживай своим прилжением изменение конфига
Andor
или юзай готовый костылик
𝚔𝚟𝚊𝚙𝚜
вот мне и интересно, как там это делается. Надо будет посмотреть. helm тоже многим не устраивает
мне вот тоже стало интересно, и вот у меня получилось local config_hash = std.md5(params.config);какой ksonnet клёвый!
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
@elvis_live а чего ты хочешь решить?
мне делегировали зону на кластер. в сервисе вместе с externalIPs я указываю externalDNS или что то вроде. И тут происходит красота
Nik
В более простом мире - просто dns сервер, который у меня крутится кубе.
Nik
bind мне сильно не люб
Nik
нашел https://github.com/kubernetes-incubator/external-dns но пока не понял, то ли это что я хочу. пока читаю
𝚔𝚟𝚊𝚙𝚜
а dnsmasq?
Vadim
раньше dnsmasq укрощали, теперь из coredns'а dnsmasq хотят
Nik
а 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
но есть мнение, что coredns лучше в дизайн ляжет
Когда-нибудь потом. dnsmasq уже сколько лет пилят, оно точно работает уже сейчас.