@kubernetes_ru

Страница 724 из 958
Иван
03.08.2018
13:46:26
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.10/#configmapvolumesource-v1-core
Как бы все хорошо, но почему-то если confimap нету, то он всеравно перезатирает файлик

Denis
03.08.2018
13:46:34
Но как появится, сразу наверстаем всё:)

Igor
03.08.2018
13:48:07
Кстати. Посоветуйте какую-нибудь зачетную книжку по кубернетес (не по самому начальному, а чтобы после "разборался на уровне юзера")

Dmitry
03.08.2018
13:49:20
https://kubernetes.io/docs/concepts/

Google
Alexander
03.08.2018
13:51:09
https://www.youtube.com/watch?v=pdAXKkMc8ls
не в курсе, записи будут ?

Igor
03.08.2018
13:51:10
https://kubernetes.io/docs/concepts/
Ну вот как раз идея "что читать после для комплексного и всестороннего погружения")

Dmitry
03.08.2018
13:52:35
Не, для комплексного и всестороннего погружения нужно читать сорцы, ну или хотя бы спеки апи. А разобраться на уровне юзера с этой докой вполне хватит.

Sergey
03.08.2018
13:55:49
Oleg
03.08.2018
14:06:31
хуки helm на деплойменте сработают?

или только на джобе?

Anton
03.08.2018
14:15:49
Как бы все хорошо, но почему-то если confimap нету, то он всеравно перезатирает файлик
тоесть поверх пустая директория монтируется? попробуй конкретные ключи исопльзовать и монтировать с subpath (ну я хз, варианты есть еще)

Иван
03.08.2018
14:17:05
тоесть поверх пустая директория монтируется? попробуй конкретные ключи исопльзовать и монтировать с subpath (ну я хз, варианты есть еще)
Неее, я монтирую файлик, но такого ключа в configmap нету, он в итоге перезатирает файл на пусто...

Anton
03.08.2018
14:42:38
Неее, я монтирую файлик, но такого ключа в configmap нету, он в итоге перезатирает файл на пусто...
экспериментировать самому времени нет, но с subpath точно не проходит? можно посмотреть как это на самой ноде выглядит, что куда монтируется и тд. ну ок, даже если не получается так, ты можешь дефолт задать в конфигмап или дефолты держать в другой дире и собирать конфиги через entrypoint. в общем как фантазия разыграется

Google
Valera
03.08.2018
15:32:57
Всем привет. На Gitlab CI наконец добрался до указания конкретного образа, вместо latest при делое и реализовал вот так, но может есть какие-то варианты получше? kubectl apply -f dev.yaml --record=true && kubectl patch -f dev.yaml -p '{"spec":{"template":{"spec":{"containers":[{"name":"nginx-app","image":"'$CONTAINER_IMAGE:$CI_COMMIT_SHA'"}]}}}}' --record=true Первый шаг обновляет в том числе переменные из env: ..., если они менялись и в самом dev.yaml указан image: registry.gitlab.onlinepay.com/onlinepay/nginx:latest, т.к. пока не представляю как пробросить внутрь yaml $CONTAINER_IMAGE:$CI_COMMIT_SHA, а далее уже делается patch, который непосредственно указывает на нужный образ $CONTAINER_IMAGE:$CI_COMMIT_SHA. И получается 2 deployment'а в kubectl rollout history. Как бы это сделать в 1 шаг, чтобы и deployment был 1 в kubectl rollout history? Спасибо

Vadim
03.08.2018
15:37:03
1) получаешь sha256 digest с помощью docker \ skopeo 2) заменяешь nginx:latest на nginx@sha256:... в dev.yaml 3) деплоишь без патчинга после

Valera
03.08.2018
15:48:30
1) получаешь sha256 digest с помощью docker \ skopeo 2) заменяешь nginx:latest на nginx@sha256:... в dev.yaml 3) деплоишь без патчинга после
Я и так автоматом получаю sha256 из $CI_COMMIT_SHA. Хотелось бы не добавлять его вручную в dev.yaml. Хотя может делать как-то типа echo $CI_COMMIT_SHA > dev.yaml ну или чем-то более нативного для yaml? Или я вас не так понял..?

Oleg
03.08.2018
15:55:26
к ingress есть решения по ingress.kubernetes.io/affinity c JWT?

ну кроме как своего кастомного балансера перед ingress, который будет кастомно перекладывать JWT в cookie

Эдуард
03.08.2018
16:09:41
Valera
03.08.2018
16:47:09
есть тысяча способов как изменить yaml - начиная от темплейтов, заканчивая sed. Все способы плохие по своему
Тем не менее, в оф доках не брезгуют sed'ом https://kubernetes.io/docs/reference/kubectl/cheatsheet/ sed 's/\(image: myimage\):.*$/\1:v4/'

Может есть что-то более yaml нативное, типа https://github.com/0k/shyaml/blob/master/README.rst но с write?

Dmytro
03.08.2018
18:20:36
да, gitlab вырос в такого монстра... ci, autodevops и тп. Когда его начинали, помню, никто не верил ?
Хоть бы что-то нормально делать научился, и тут говно и там тоже. Куча недофич

слак есть, только деплой прода через чатик, я не настолько другим доверяю, хотя...надо как-то роллаут замутить
Так можно же проверять в боте какой юзер вызвал команду и левым чувакам давать отлуп

а так у меня даже докер файла от него нет
Но образ то есть? FROM поделие:образ ... погнал фиксить

Ребят, помогите, что то забуксовал совсем я. есть кластер кубера, написал первую таску. Есть несколько вопросов 1) Как вставить таймаут между стартами контейнеров, и строго ли по списку кубер контейнеры стартует, если не строго то как сделать строго, ни как не могу даже упоминания об этом в доке найти. 2) Не понятность: мне нужно крутануть контейнер который инициализирует предыдущий запущенный контейнер(аля батч). Можно ли такое вообще сделать ? 3) DNS и CONFIGMAP- не понятно как реализован поиск контейнеров, везда указал name контейнеров (старт подов описан в деплойменте), но получаю в ответ host not found. Вообще кейс поиска сервисов как реализован, очень не понятно, одни описывают через сервис и поиск как публичных служб, другие описывают прямо IP адреса служб (как я могу узнать их если они в динамике). Короче вообще не понятки.
Сервису можно указать айпи при создании и он будет статический. Но в целом вопрос непонятен, как передать fqdn сервиса? Через переменные окружения, как всегда

Alexey
03.08.2018
18:36:43
Сервису можно указать айпи при создании и он будет статический. Но в целом вопрос непонятен, как передать fqdn сервиса? Через переменные окружения, как всегда
не всегда есть возможность использовать переменные окружения. У меня пока стандарт конфиги и все тут. А сборкой в энтрипоинт заниматься, ну такое...

Alexey
03.08.2018
18:39:31
Если я правильно понимаю вопрос то вам нужен headless service
Было бы понятнее, если бы использовали более распостранненые обозначения, а не в рамках кубера, я только неделю с ним воюю, так что не могу всего знать.

headless service = statefull ?

Google
Alexey
03.08.2018
18:46:34
Вообще предыстория следующая, номад у нас хорошо работает, но хочется по пробовать нового + у номад нет зависимостей между контейнерами, такой дизайн такой что по другому ни как (шина, базы). Проблема нет пока когда идет штатное обслужинвание кластера, но для дев сред и тестов я полностью собираю новое окружение (базы, очереди, приложения) и вот тут начинаются прыжки с бубном, приложение может инициализироваться минут по 30, пока все зависимости скачаются и запустяться, сделано я это очень грубо (тупо бесконечный рестарт). От того что сделано грубо - дев среда пытается собратсья до последнего, даже если там есть фатальные ошибки в самом начале.

Я надеялся что кубер решит это. И надесь что решит, но собственно вот что я решаю

Alexey
03.08.2018
19:11:57
А вообще, если приложение без труда и проблем развертывается в любом окрестраторе это хороший знак и нужно к нему идти. Так?

Alexey
03.08.2018
19:23:44
- у нас dev среда на docker-compose, почему так не делаете? Какая разница кто оркестрирует? - есть опыт использования nomad на мелких проектах? Насколько просто и гибко?
compose - локально разрабы у себя. А у меня CI версионный, храним несколько версий всего (базы, шины, приложения). Ну и сборки разные с разными версиями. Потому нужна гибкость и зависиомости, в номад этого нет. Но я бы и не сказал что кубер такой же гибкий, все те проблемы что есть у меня в номад - есть и в кубере. Хотя statefull с инитами + волюм (разные драйверы) - реально киллер фича кубера

Что значит развернуть - д

что значит развернуть - тупо запустить, да не беда, все запускается. Запустить с проверками и зависимостями. мониторингами и откатами в случае краха - вот тут и начинается все веселье.

Просто что номад, что кубер нацелены на поддержание среды, развернутой среды, а мне нужно сами среды готовить, вот в чем прикол

Alexey
03.08.2018
19:29:36
С какими приверками нужно запускать?

Alexey
03.08.2018
19:30:59
С какими приверками нужно запускать?
запускать - если шина и база жива, после запуска проверить что запустилось, да желательно не внутреннией проверкой, а снаружи зайти ping-pong. Если все ок - вешать метки, которые прометей забирает. Ну классически, все как у всех собственно

Alexey
03.08.2018
19:31:17
У меня все приложение рестартятся, пока не дождуться нужных ответов. Все приложения если получают через ENV ссылку на influxdb, то скидывают туда ивенты мониторинга. Откат в случае краха это деплой старого релиза. всякие database rollback не делаются

Alexey
03.08.2018
19:32:16
У меня все приложение рестартятся, пока не дождуться нужных ответов. Все приложения если получают через ENV ссылку на influxdb, то скидывают туда ивенты мониторинга. Откат в случае краха это деплой старого релиза. всякие database rollback не делаются
Вот - у меня та же хрень, и это реально хрень. Задерка в скачивании монги у меня кладет приложение на 20 минут развертки, потому как все компоненты начинают рестартится, пока не соберутся в нужной последовательности

Я хочу контролировать эту самую последовательность )

Alexey
03.08.2018
19:35:07
Мне может проще. Я и пишу сервисы и разворачиваю их в кластере. Если сервис напряжно будет развернуть - буду делать так, чтобы было ненапряжно.

Alexey
03.08.2018
19:35:12
То есть зачем поднимать шину, приложение, прокси, пока блин база качается. Зачем все делать одновременно. У номад обещают исправить в 9-10 версии (может вернемся к нему). А пока кубер, уж больно замороченный он, есть ощущение что гибкости по больше

Alexey
03.08.2018
19:36:02
Я год не решался залезь в кубер, сейчас фиг с него слезу, слишком удобно.

Alexey
03.08.2018
19:37:04
Мне может проще. Я и пишу сервисы и разворачиваю их в кластере. Если сервис напряжно будет развернуть - буду делать так, чтобы было ненапряжно.
вот коллеги тоже самое говорят. Но пока все не понятно, а после логики номада - все вообще "вверх дном". Ещё мезос есть, там точно зависимсти есть, но он ещё мудренее

Alexey
03.08.2018
19:38:19
k8s жирный. Только один минус. Поэтому думаю пробовать nomad для мелких vps за $10-20 которые. Работали с ним в этом ключе? По первому вгляду nomad на порядок легче.

Alexey
03.08.2018
19:39:06
Google
Alexey
03.08.2018
19:39:31
Но идеологически очень хорош, связка с ваулт и консул и шаблонизатором - киллер фича.

Alexey
03.08.2018
19:40:11
и terraform... да, это понимаю. С vault и consul работал.

Alexey
03.08.2018
19:40:41
и terraform... да, это понимаю. С vault и consul работал.
терраформ оверкилл. Только если саму среду готовить... Потом шатануть все одной ошибкой - ну такое...

Yura
03.08.2018
19:44:40
терраформ оверкилл. Только если саму среду готовить... Потом шатануть все одной ошибкой - ну такое...
Если правильно раскидать стейты, то вероятность шатнуть все достаточно мала

Михаил
03.08.2018
19:49:45
И сталкиваетесь с закономерной болью

Alexey
03.08.2018
19:51:02
> Есть ощущение, что вы пытаетесь натянуть сову на глобус 2 минуты уже представляю как это выглядит

Знаете как курицу на ростер иногда сложно натянуть. А тут сова на глобус

https://williams-oliver.ru/assets/images/uploads/00010581844_2.jpg

Alexey
03.08.2018
19:55:21
Знаю пару ребят, у которых rancher в котором база и php приложение. Круче некуда ?

Alexey
03.08.2018
19:57:46
Есть ощущение, что вы пытаетесь натянуть сову на глобус. А точнее свой много сервисный монолит запихнуть в кубер
А вы стартуете свои приложения в вакууме ? ну напрмер вот кейс - vernemq, ему требуется influxdb, mongodb, memcached. После старта его нужно запускать уже ваши приложеньки, потому как vernemq шина. Есть разные версии vernemq, нужно проверять каждую новую версию. Как среду собирать ? Или пускай приложение всегда отвечает ресурс не достпен и мы его будем прибивать в бесконечном рестарте пока что то не оживет. Или держать где то отдельно и заводить его отдельно, но тогда проблема масштабирования, разные среды, да это просто не удобно.

Alexey
03.08.2018
20:11:12
https://github.com/giantswarm/kubernetes-prometheus/blob/master/manifests/grafana/import-dashboards/job.yaml#L21

Костыли, костыли, костыли... И, куда не взгляни в эти майские дни, Всюду пьяные бродят они.

Эдуард
04.08.2018
06:58:18
Народ, k8s pvc возможно изменить размер при использовании rbd/cephfs?

Alex
04.08.2018
08:07:01
Привет ребята.Ищу профессионала,кто бы смог меня обучить Helm Charts и как правильно уметь писать.Я хочу использовать Prometheus Operator, alert manager, prometheus node exporter, я хочу все это запаковать и устанавливать через helm.Я хотел с кем-то работать через Skype,буду оплачивать за работу.Пишите мне лично.Спасибо,жду ответа

Pavel
04.08.2018
08:17:51
там учить нечего. и там уже все написано. https://github.com/coreos/prometheus-operator/tree/release-0.14/helm/prometheus-operator - сначал ставить это. Дожидаетесь что все запущено. https://github.com/coreos/prometheus-operator/tree/release-0.14/helm/kube-prometheus - рихтуете все под себя и ставите. через portforwarding на 9090 порту будет прометеус, на 9093 графана. Версия 0.14 взята просто для удобства и четкого понимания что и для чего.

Google
Pavel
04.08.2018
08:21:36
он там тоже есть.

Mikhail
04.08.2018
08:23:47
https://www.safaribooksonline.com/library/view/prometheus-up/9781492034131/ читаю сейчас. Как раз про основы рассказывает.

Pavel
04.08.2018
08:26:42
operator это отдельная сущность/бинарик/скрипт/etc который общается с кубиком. На основе эвентов или значений выполняет действия как еслибы это делала человек. Helm к оператору не имеет ни кого отношения. В prometheus-operator через хелм задаются опции для создания контейнера. (в террии все это можно затолкать в операто и обновлять только его для статиченой конфигурации).

Сам helm это шаблонизатор + есть возможность указывать на зависимости.

С учетом того что в шаблонах можно выполнять действия. можно писать достаточно большую логику.

artb1sh
04.08.2018
08:51:41
Что по кубу на собеседовании спросить?

Mikhail
04.08.2018
08:57:58
Печатное есть?
Ну глянь на Амазоне, я хз.

Страница 724 из 958