@kubernetes_ru

Страница 362 из 958
Arslanbekov
19.12.2017
20:23:11
вообще он ревизию инкрементит (100, 101, 102 и тд), статус всегда DEPLOYED

Let Eat
19.12.2017
20:23:14
надо образ чтобы поменялся

Arslanbekov
19.12.2017
20:23:25
ну, тег ты имеешь ввиду?

образ то меняется конечно

Google
Let Eat
19.12.2017
20:23:44
поле image, как текст, изменения

Arslanbekov
19.12.2017
20:23:50
тег перепушивается с другими сорцами ? меняются слои, для докера это потенциально уже разные образа должны быть

Let Eat
19.12.2017
20:24:22
хотел бы сказать хелм Г, но тут он не виноват.

Arslanbekov
19.12.2017
20:24:26
поле image, как текст, изменения
так вроде при деплое через kubectl? там мы корячили timestamp поле, которое всегда менялось) потом перешли на хелм и забыли об этом костыле

Vitaliy
19.12.2017
20:24:27
Документацию ж не читаем

Let Eat
19.12.2017
20:24:56
можете закостылить: делать Release.Version в annotation , и imagePullPolicy:always

Arslanbekov
19.12.2017
20:24:57
Документацию ж не читаем
кто документацию читает )) кто работает

можете закостылить: делать Release.Version в annotation , и imagePullPolicy:always
Спасибо добрый человек, пойду пробовать ?

Sergey
19.12.2017
23:27:59
звучит логично. т.е. common хранит общие конфиги а сами ветки dev/prod хранят только переменные? Как в таком случае секретами управлять?
зависит от того, на чет написано. например на node.js есть отличная тема - config, позволяет определять конфиги самому разрабу и говорить какие значения в конфигах будут соответствовать каким переменным. в итоге разраб может сам наколхозить конфиги (именно значащие значения) для всех сред, а секреты приедут в ENV-переменные

Google
Sergey
19.12.2017
23:29:44
отдельно заводятся секреты, потом подключаются к деплойменту в виде ENV-переменных

Dmitry
19.12.2017
23:30:31
Отдельно где? Не могу понять, как их хранить. Например, для Amazon я храню многое в Ansible Vault

Sergey
19.12.2017
23:30:46
как управлять секретами - дело личное, я знаю людей которые держат секреты в репо (с закрытым доступом) и тоже по CI-пайплайну их катают

Dmitry
19.12.2017
23:31:27
Ок. Ну, по крайней мере я понял что env можно отдельно / параллельно накатывать на поды, так?

Sergey
19.12.2017
23:31:51
не, внутри кубера есть такая абстракция как секрет, а уж откуда она возьмется - это как удобнее

потом этот секрет можно замапить на env в поде

Dmitry
19.12.2017
23:59:32
Ну мне напрашивается все равно ansible vault из которого создается секрет кубера... Или какие стандартные варианты хранения? Или часто как-раз кубер и хранит эти секреты изначально? (а люди их вручную задают в кубер?)

Alex
20.12.2017
06:02:36
Ребята кто fluent-bit пользуется для доставки логов?

Есть пара вопросов

Anton
20.12.2017
07:59:29
очень рекомендую https://www.youtube.com/watch?v=vTgQLzeBfRU
кое каких опций для kubelet \ kube-apiserver не хватает в инсталяции из kubespray. плюс видео убедило начать использовать network policy =))

Dmitry
20.12.2017
07:59:55
А кто как сайты в k8s прогревает? Мне пока это видится как readiness probe которая проходится по списку страниц при первом запуске, а при следующих сразу выдает exit code 0.

Anton
20.12.2017
08:31:52
не совсем уж вырубать его, хотя бы что то проверять на readiness нужно обязательно

Let Eat
20.12.2017
08:33:45
звучит логично. т.е. common хранит общие конфиги а сами ветки dev/prod хранят только переменные? Как в таком случае секретами управлять?
Мы не храним, при деплое проверяется есть ли секрет, если нет - сгенерировать и создать. Секрет потом используется самим приложением и другими, кому оно надо (скажем пароль от базы данных). Но это работает только если у вас все в кубе

кое каких опций для kubelet \ kube-apiserver не хватает в инсталяции из kubespray. плюс видео убедило начать использовать network policy =))
Там еще есть видео от rackn, которое имеет ненулевой шанс убедить не использовать kubespray :) узнал из него о digital rebar, буду смотреть как заменить им свой наколеночный pxe + dhcp

Let Eat
20.12.2017
08:57:00
Что не так с kubespray?
Религиозный вопрос. Лично для меня: он не решает ни одной задачи, которую нельзя было бы решить другими более простыми средствами. С появлением bootkube, все что нужно это запустить kubelet на всех нодах и запустить bootkube один раз на одной. Ну etcd, но на CoreOS это можно сказать из коробки.

Кластер должен уметь описывать и поддерживать сам себя. Ребята пилят ClusterAPI , вот это правильное направление. Хочу апгрейд ОС на всех нодах, с корректными ребутами, проверками и роллбэком, через kubectl apply

Anton
20.12.2017
09:14:27
А что сейчас наиболее прогрессивное для сети? flannel?

Google
Arslanbekov
20.12.2017
13:14:09
А что сейчас наиболее прогрессивное для сети? flannel?
мы с flannel на calico перешли, пока без нареканий

Anton
20.12.2017
13:15:09
А что не устраивало? или наоборот какие плюсы в calico?

Victor
20.12.2017
13:24:26
У calico с network policy получше, для flannel нужен canal насколько я помню

Кто с helm'ом живет, вы чарты внутри проектов храните или выносите отдельно как в kubernetes/charts?

Andrey
20.12.2017
13:36:32
чарты внешних (типа форк монги) в отдельной репе, чарты внутренних сервисов запакованы в один универсальный чарт во внешней репе, сервисы деплоются через values.yml которые в каждой репе сервиса свои

Let Eat
20.12.2017
13:52:40
А что сейчас наиболее прогрессивное для сети? flannel?
Голый calico. Но не совсем "наиболее прогрессивное", просто хорошо работающее

Victor
20.12.2017
13:53:50
а serviceName-version.tgz во внешней универсальной репе хранится? или в нутри проекта сохраняется?

Let Eat
20.12.2017
13:54:26
чей-то не прогрессивное?
Ну на острие атаки сейчас всякие Cilium или вон родной CNI от AWS

Victor
20.12.2017
13:57:38
git clone при деплое в chart/charts
То есть как то так: 1. Обновили/Добавли чарт 2. сгенерили новый index.yaml 3. git add/commit/push (as github pages например)

Михаил
20.12.2017
13:57:40
Let Eat
20.12.2017
13:58:37
че-то cilium выглядит как комбайн)
Просили прогрессивное

Victor
20.12.2017
14:00:00
Нафиг мне этот секс неестественный? Просто git clone :)
Что бы можно было добавить как репозиторий helm repo add https://addresRepo разве нет?

Let Eat
20.12.2017
14:00:52
А что не устраивало? или наоборот какие плюсы в calico?
Одним компонентом меньше, меньше чего может сломаться, поменять конфиг несовместимо и проч.

Что бы можно было добавить как репозиторий helm repo add https://addresRepo разве нет?
Это так хелм хочет, я считаю они больные на голову. Делаю так (когда есть черт вообще), есть приложение app, в нем ничего, только зависимость на generic-app. Что бы generic-app не публиковать дедовскими способами, оно перед деплоем клонируется в chart/charts

Те. перед вызовом helm template, структура такая: - /chart/Chart.yaml - /chart/values.yaml - /chart/charts/generic-app/.git

sbog
20.12.2017
14:13:41
У нас тесты и деплой разъединены, например. Не собираем чарт, если тесты не прошли локально. На случай роллбэка храним все в helm сервере. Т.е. схема такая: пуш в бранч -> юниты -> сборка нового контейнера -> сборка нового чарта -> мерж -> деплой.

Google
sbog
20.12.2017
14:31:48
Генерим и коммитим в свой helm repo. А деплоим из него на стадии деплоя

sbog
20.12.2017
15:07:37
Зачем собирать новый чарт, если юниты не прошли? Увеличивать энтропию только.

Let Eat
20.12.2017
15:14:26
что изменяется в чарте между сборками?

Admin
ERROR: S client not available

sbog
20.12.2017
15:33:55
Имя контейнера, иногда - переменные какие-то, если это нужно. У нас есть сервисы, где, например, сервис не принимает реплицированную монгу, отдаем нереплицированный урл флагом. Когда допишут - просто опцию поменяем. Где флагов становится много, разработчики переезжают на конфиги - добавляются конфигмап темплейты в чарты. Где-то сервис ведет себя как кажется немного странно но локально не видно почему - пробрасываем facility level другой в чарт. Как только ты руками на кластере ничего не меняешь, оказывается, что на любой чих меняется чарт.

Но сам по себе новый чарт просто тянет новый код. С этим можно делать роллбэк - а именно роллбэк и апгрейд и есть часть того, почему все хотят k8s, а не, скажем, OpenStack

sbog
20.12.2017
15:45:30
Что значит "держите чарт кодом"?

У тебя код приезжает в реджистри же в итоге. Я прод с "latest" не тяну.

Let Eat
20.12.2017
15:46:43
*рядом с кодом

sbog
20.12.2017
15:47:30
Ну держишь ты его рядом с кодом. А доставку кода ты как организовываешь?

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

terry
20.12.2017
15:59:01
ребята, нужен совет - лепить контейнер для wordpress в гугл клауде есть смысл? или лучше свой контейнер в kubernetes запустить уже притготовленный свой личный?

Victor
20.12.2017
16:13:47
Ну а как быть с секретами внешних сервисов ?
Я из переменных окружения беру --set API_TOKEN=$API_TOKEN

Dmitry
20.12.2017
16:14:35
Я из переменных окружения беру --set API_TOKEN=$API_TOKEN
Да блин. А как они туда попадают?

Victor
20.12.2017
16:16:49
Да блин. А как они туда попадают?
Конкретно у меня они в gitlab variables хранятся

в circleci собственно так же

Dmitry
20.12.2017
16:18:39
Понял. То есть любой кто имеет доступ к этому проекту может прочитать переменные

Google
Dmitry
20.12.2017
16:19:44
Ну, в теории

Victor
20.12.2017
16:23:17
Понял. То есть любой кто имеет доступ к этому проекту может прочитать переменные
Конкретно в gitlab их могут видеть только админы, обычные девелоперы их не видят

Dmitry
20.12.2017
16:23:51
Victor
20.12.2017
16:28:21
а как же echo $VAR в проекте (во время сборки)?
у нас конфиги лежат в ops папке и есть git server-hook который проверяет права тех кто его менял + gitlab variables можно поставить флаг protected тогда она будет доступна только в protected ветках/тегах которые создает мастер/овнер

Dmitry
20.12.2017
16:30:15
Ааа, хорошо. Уже несколько раз такую стратегию вижу, когда защищенная ветка хранит конфиги сборки ?

Потому что я все в отдельной репе храню, и почти всегда это работает. Но иногда хочется чего-то лучше...

Dmitry
20.12.2017
18:25:13
Спасибо всем в чатике. Базу прям хорошо внушили)))

Вдохновляет возможность задеплоить с нуля ваще ВСЕ. "Дай мне ip 2х сервантов, сделаю че надо".. И минимальный риск косяков среды, т.к. все контейнеризированоо

Dmitry
20.12.2017
19:15:47
?

Сергей
20.12.2017
20:15:26
Ребят, тут кто-то давече писал про Bootkube, я что-то по диагонали не нашел как он реаизовывает HA мастер

сразу говорю я особо не вчитывался, бегло с ходу не нашел

Let Eat
20.12.2017
21:17:52
Ребят, тут кто-то давече писал про Bootkube, я что-то по диагонали не нашел как он реаизовывает HA мастер
Я писал, bootkube ничего не реализовывает, он создает и загружает в кластер то, что вы подсунете ему в директории manifests

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