Rainbow
надеятся, что вам не придется деплоить кластер с нуля - такое себе в любом случае.
G72K
Ну т.е. может оно и спокойнее, если гитлаб отдельно, но и внутри с ним можно, если подготовиться, а готовиться к восстановлению приложений все равно надо, причем без cd, так что гитлаб становится просто ещё одним приложением
A
Получается сторедж в кубернетсе нужен только для стейтфул приложений, а это в основном бд, для остальных не так принципиально...
A
Так понимаю?
Rainbow
minio, легаси
Andor
У нас в сторейже хранятся базы geoip, но их можно и просто при запуске скачивать, просто немного менее оптимально
A
А минио для чего? Оно же тоже для работы со стореджами, нет?
Andor
В имже смысла нет, я не хочу передеплоивать сервис каждую неделю
Andor
А щас оно само сайдкаром обновляется
Rainbow
надежность vs практичность, ок
G72K
У меня нет времени на подготовку деплоя без cd 😥 Завидую
Ну это не деплой и именно что рекавери :)
Andor
Ну оно в стейтфулсете щас, а кубер в амазоне, так что достаточно надёжно
Rainbow
Ну оно в стейтфулсете щас, а кубер в амазоне, так что достаточно надёжно
я про то, что апы, которые что-то выкачивают через 1-2 года не запускаются, потому что выкачевоемое переехало.
Andor
И ваще этот сервис возможно никогда не будет переделыываться
A
У нас в сторейже хранятся базы geoip, но их можно и просто при запуске скачивать, просто немного менее оптимально
Я вот и говорю о том что крутые стораджи типа ceph-а для таких целей не очень то и нужен...
A
Хватит nfs, local
Andor
Да, нам легко хватило бы локал провижнера
Andor
Но у нас говно мамонта вместо кубернетиса
A
И что используете?
Andor
1.8.4
A
И там ещё не было локала?
Andor
Hostpath конечно были, но это не то же
Andor
Ну и смысл нам заморачиваться был, если у нас амазон
Pavel
не ставьте gitlab в kubernetes - огромная ошибка.
Почему? Типо чтобы можно было юзать ci при падении к8s ?
Pavel
Почему? Типо чтобы можно было юзать ci при падении к8s ?
Я дочитал до конца, видимо да, поэтому
A
У меня проблема: есть деймонсет на одном поде другие поды по имени видит, пример, ping kubernetes.default, а на других нет, только по ip. В чем может быть дело и куда копать вообще?
Andor
в днс
G72K
У меня проблема: есть деймонсет на одном поде другие поды по имени видит, пример, ping kubernetes.default, а на других нет, только по ip. В чем может быть дело и куда копать вообще?
dnsPolicy одинаковая в подах? network policy разрешает стучаться в днс? Ну и поды по имени вроде не резолвятся, только через service
Andor
погоди, демонсет?
Vadim
ping в контейнерах пока трудненько работает
Vadim
с net_raw конечно работает, но это много для простого демонсета
A
dnsPolicy одинаковая в подах? network policy разрешает стучаться в днс? Ну и поды по имени вроде не резолвятся, только через service
Они же из сета разворачиваются, так что одна и та же у них, но у одного пода хорошо у других плохо
G72K
По имени резолвятся как и в докерах
Поды по имени резолвятся? Какой fqdn у пода?
A
Нашел, coredns прочитал хостовый /etc/resolv.conf и пытается резолвить обращаясь к nameserver хостового и конечно не может к ним обращаться
G72K
На вид на запись. Кажется бывает маунт в read only если фс подпорчена :)
A
Как тогда на каких то подах оно работало?
Вот это вопрос, нашёл в конфиге coredns proxy смотрит на resolv.conf, но что туда подставить? Или все же не в этом дело, тогда получается в чем? Ничего там вроде критичного не вижу
A
Как это узнать? Не я машину разворачивал...
Elenhil
Привет, господа! Есть ли какой способ потестить matchExpressions селектор через kubectl? А то у меня выходит, что namespaceSelector: namespaceSelector: matchExpressions: - key: project-ext operator: NotIn values: ["disabled"] матчится в том числе и на неймспейсы с лейблом project-ext: disabled
A
readlink -f /etc/resolv.conf
Выдает /etc/resolv.conf
Elenhil
kubectl get namespaces -l 'project-ext notin (disabled)'? Думаю в yaml надо NotIn, с правильным кейсом
Воу. Действительно, чет я упустил это в доках, спасибо!
Elenhil
но вот вроде лейбл стоит, в ямле ``` namespaceSelector: matchExpressions: - key: project-ext operator: NotIn values: ["disabled"]```но всё равно на вебхук пытается кубер послать всё из этого неймспейса
𝚔𝚟𝚊𝚙𝚜
Выдает /etc/resolv.conf
Значит не systemd-resolved
A
Значит не systemd-resolved
Куда можно дальше копать? Запутался что то...
Denis
Куда можно дальше копать? Запутался что то...
Немного упустил момент. У тебя вообще не один dns не резолвится из подов?
A
Нет их трёх один без проблем, на двух других нерезолвится
Denis
Нет их трёх один без проблем, на двух других нерезолвится
dig kubernetes.default.svc.cluster.local проходит? Кстать какая версия coredns?
A
dig kubernetes.default.svc.cluster.local проходит? Кстать какая версия coredns?
Версия 1.2.2, и dig нет в контейнере там алпайн и инета для установки там тоже нет (след вроде как-то пробросить, но ещё не пробовал)
A
И на ноде где все хорошо это мастер, если имеет значение...
Andrey
у кого-нибудь получалось запилить инициализацию env vars в initcontainer? Не очень хочется модифицировать образ приложения, которое конфигурацию из env vars берёт.
Andrey
они не известны на момент написания манифеста, достаются динамически из vault
Andrey
у меня пока идея только модифицировать ConfigMap из initcontainer или sidecar и потом перегружать pod
Andrey
но это сложно
Andrey
вот этого хотелось бы избежать, потому что изначально entrypoint в манифесте может быть не задан и контролируется разработчиком образа
Rainbow
вот пусть разработчик и достаёт переменные тогда 🙈
Andrey
из vault? хаха
Rainbow
это 1 curl запрос. пару строк кода.
Etki
Кубернетис для тех кому за 40
диски при плохой погоде ноют
Rainbow
vault это key-value и адекватным http api
Etki
очереди большие
Rainbow
не встаёт местами
Andrey
это 1 curl запрос. пару строк кода.
это когда у вас статические секреты
Rainbow
...
Andor
из vault? хаха
в чём проблема?
Rainbow
если секрет меняется, приложение не может пойти по старому секрету куда-то, падает и рестартиться с новым. Это нормально.
Andrey
вообще это плохая практика перегружать логику приложения знанием об инфраструктуре. Приложение берёт конфигурацию из env, всё.