
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

Dmitry
19.12.2017
21:40:13
Preview можно делать https://aws.amazon.com/eks/

Sergey
19.12.2017
23:27:59

Dmitry
19.12.2017
23:28:56

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

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

Алексей
20.12.2017
08:41:30

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

Алексей
20.12.2017
09:04:09

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

Google

Arslanbekov
20.12.2017
13:14:09

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

Михаил
20.12.2017
13:53:19

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

Let Eat
20.12.2017
13:54:26

Victor
20.12.2017
13:57:38

Михаил
20.12.2017
13:57:40

Let Eat
20.12.2017
13:58:37

Victor
20.12.2017
14:00:00

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

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

Victor
20.12.2017
14:26:30

Google

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

Let Eat
20.12.2017
15:06:32

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


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

sbog
20.12.2017
15:45:30
Что значит "держите чарт кодом"?
У тебя код приезжает в реджистри же в итоге. Я прод с "latest" не тяну.

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

sbog
20.12.2017
15:47:30
Ну держишь ты его рядом с кодом. А доставку кода ты как организовываешь?
Вот выкатили в прод новую версию, оказалось, что есть проблема. Как делать роллбэк, ждать, пока разрабы регрессию пофиксят?

Dmitry
20.12.2017
15:58:06

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

Victor
20.12.2017
16:13:47

Dmitry
20.12.2017
16:14:35

Victor
20.12.2017
16:16:49
в circleci собственно так же

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

Google

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

Victor
20.12.2017
16:23:17

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
Ааа, хорошо. Уже несколько раз такую стратегию вижу, когда защищенная ветка хранит конфиги сборки ?
Потому что я все в отдельной репе храню, и почти всегда это работает. Но иногда хочется чего-то лучше...

Let Eat
20.12.2017
17:23:56

Dmitry
20.12.2017
18:25:13
Спасибо всем в чатике. Базу прям хорошо внушили)))
Вдохновляет возможность задеплоить с нуля ваще ВСЕ. "Дай мне ip 2х сервантов, сделаю че надо".. И минимальный риск косяков среды, т.к. все контейнеризированоо

Let Eat
20.12.2017
19:15:29

Dmitry
20.12.2017
19:15:47
?

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

Let Eat
20.12.2017
21:17:52