Andor
Andrey
Я завтра захочу env хранить в другом месте, мне просить программиста приложение переделать?
Andor
ну и это не "логика приложения", а подключенный модуль к этому приложеню
Andor
Rainbow
вы же решаете проблему "прогер может поменять entrypoint". Пусть он решает проблему "завтра вменим хранилище".
Andrey
ну я же сегодня захотел env из configmap/secret перенести в vault
Vadim
>изначально entrypoint в манифесте может быть не задан и контролируется разработчиком образа
>мне просить программиста приложение переделать?
Andor
env или секреты?
Rainbow
envкоторые в describe не видны
G72K
вот пусть разработчик и достаёт переменные тогда 🙈
Индустрия идёт обратным путем, разнос всего по блекбоксам с одной крутилкой наружу. Если бы разработчики думали о всех деталях, не было бы кубернетиса (мир был бы лучше при этом) , а была бы богатая экосистема штук народе https://www.joyent.com/containerpilot но несролось
Vadim
Rainbow
Rainbow
и так делаю. И у меня голова не болит про куб.
Rainbow
и если нужно сказать разрабу не трогать entrypoint - он не будет.
Vadim
entrypoint не приложение, а часть его упаковки
Rainbow
Rainbow
просто договор, что он всегда в /entrypoint.sh, даже если пустой.
Andrey
это значит мне надо будет разбираться в логике вызова всяких npm/php или бинарника приложения - я не хочу в это лезть. Завтра разработчик решит, что надо не npm start, а какой-нибудь ng start - ему ко мне на поклон идти менять entrypoint?
Vadim
и вообще,
FROM whatever-crap-the-dev-made:latest
COPY my-entrypoint /
Andrey
см. выше
Vadim
вот так, медленно но верно, запускатели куба учатся взаимодействовать с остальной командой
G72K
G72K
При этом он собирает контейнеры с ENTRYPOINT [/start.sh]
Andrey
В таком разе можно договориться с разрабами брать конфиги не из env vars, а сорсить вполне определённый файл с ними. Это если договариваться.
Andrey
а подменять entrypoint - так себе затея
Andrey
это да.
Andrey
кстати, подмена entrypoint не спасает от проблемы динамичности
Andrey
приложение должно перечитывать конфиг при его изменении
G72K
Можно разное придумать , но лучше всего работает стандартный заранее известный ENTRYPOINt, тогда все как-то легче
Михаил
Andrey
у меня проблема в том, что сервисов куча, все уже давно договорились использовать env vars, которые раньше прописывали в манифесте. Теперь у меня стоит задача наименее безболезненно перенести управление секретами в vault. При этом договорённости про enrtypoint нет, где-то он задан в манифесте, где-то нет.
Andrey
если менять entrypoint - это надо по каждому сервису индивидуально смотреть, договариваться, чтоб он не изменился потом.
Andrey
если переходить с env vars на конфиг в файле - опять же надо все сервисы переделывать
Vadim
как показывает опыт, решение социальных проблем техническими средствами плохо удается
Andrey
если встраивать клиент vault в образ - тогда разрабам для тестирования образа у себя нужно будет либо vault поднимать, либо логику дополнительную наворачивать
Kirill
Чуваки, посоветуйте пожалуйста хорошие whitepapers по k8s, помимо основных ресурсов? Надо для заказчика, который будет разворачивать там свой CICD (Jenkins) для DeepLearning4J (Caffe, kera, tensorflow).
Vadim
в следующий релиз Istio включат Kiali - https://preliminary.istio.io/docs/tasks/telemetry/kiali/
Siarhei
Ребята нубский вопрос. есть контейнер, я в деплойменте создаю PVC темплейт и монтирую в папку , на момент поднятия контейнера в этой папке присутсвуют некие данные, когда по темплейту создается PVC и затем PV моунтится по пути - данные в папке останутся жить, или там станет пусто???
Denis
Etki
Должно быть пусто, в доке по-моему даже есть упоминание scrub
A
Значит с днс в подах ни у кого проблем не было?
Stas
https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-provisioning пушка бомба 3018 год
Vadim
почти как в CoreOS два года назад, только конфигурить толком нельзя
Andor
lol
Stefan
и я снова с вопрсом))
почему хельм когда создает файл _helpers то в нем была структура переменных приблизительно такая
{{- define "cool-app.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
то есть с приставкой названия проекта, из-за чего я не мог воспользываться в ямлах такой записью {{ template "name" . }}
но если я эту приставку уберу, то всё работает
почему он так делает и можно-ли этого избежать? а то если задумываться о боевых деплоях, то оно ведь ломать деплой будет
Andor
говоришь как работник конторы, которая купила себе CoreOS
Vadim
именно потому мне и нравится кореосовское решение, а не "вот тебе голая нода, допили её до нормального состояния"
Михаил
Andor
Vadim
Михаил
Andor
для того же амазона давно была фича запуска новых нод когда нагрузка приходит
Andor
или это не оно?
Andrey
подскажите, как делать impersonation для сервис аккаунта, в доках внятного описания не нашёл
$ kubectl get sa default
NAME SECRETS AGE
default 1 216d
me@sshct:~$ kubectl --as=system:serviceaccount:default:default auth can-i get nodes
no - Unknown user "system:serviceaccount:default:default"
Vadim
Andor
в менеджед хз
Stas
Есть два уровня: нода и нод пул, обычный кластер автоскейлер скейлит ноды в рамках нод пулов. Нет подходящего нод пула - ниче не поскейлится. Эта фича сама создает нод пулы, которые удовлетворяют требованиям пода: реквесты памяти, цпу, гпу, аффинити правилам
Vadim
охтыжщи
Vadim
но зачем?
Andrey
спецификация ноды прибита гвоздями к пулу, вот зачем
Andrey
если у тебя шедулится под, которому нужен GPU, для него создастся пул с подходящими параметрами инстанса
Andrey
autoscaler такую задачу решить не может
Andrey
он только одинаковые инстансы в рамках пула делает
Vadim
зачем это гуглу - побольше вкатить тебе счет - я понял
Stas
Или более частый кейс: ты не можешь знать изначальнок, какие Аффинити и Антиаффинити рулы будут продиктованы твоими приложениями, и с такой штукой тебе не нужно думать заранее о лейблах и тейнтах на нод пулах
Andor
вполне понятное желание
Vadim
не понимаю кому может понадобиться фича "давайте ничего не планировать, пусть гугл сам там крутит"
Andor
Vadim
Andrey
не знал, спс
Stas
Это штука не позволит тебе включить себя без верхних границ по ресурсам - больше чем надо не нашедулит, так что я думаю в конечном итоге эффективность размещения улучшится
Vadim
fair enough