@kubernetes_ru

Страница 609 из 958
Aleksey
07.06.2018
13:18:27
дык а где трабла то:)
Требуют серебрянную пулю, а я думаю в каком месте я дурак

Sergey
07.06.2018
13:19:08
Требуют серебрянную пулю, а я думаю в каком месте я дурак
а я так нифига и не понял чего они от вас хотят

Aleksey
07.06.2018
13:20:30
а я так нифига и не понял чего они от вас хотят
Хотят удобную разработку(читай одмин должен) я повторяю, озвученное выше, но все равно - не могу объяснить

Да понятно, короче, тут трудности команды

Google
Sergey
07.06.2018
13:21:33
главное на шею не садите, а то потом не сбросите:)

Aleksey
07.06.2018
13:24:13
главное на шею не садите, а то потом не сбросите:)
Не, чувак в армии служил, дичь не пройдет (с)

Denis
07.06.2018
13:41:14
Народ всем привет, может кто сталкивался.. не могу пробросить header's X-forward-For, X-real-IP использую traefik(daemonset) -> ingress ->service -> pod взаимодействует через сеть weave добавил externalTrafficPolicy: Local на балансер и сервис заголовки пустые, подставляет ip ingress service

Maksim
07.06.2018
14:28:55
traefik должен формировать жти хедары

Михаил
07.06.2018
14:43:20
Мы с такой проблемой вешали haproxy

прямо на ноду с кубом

и уже через него в ingress

Ilya
07.06.2018
14:44:10
Насколько я знаю, в > 1.5 версии Traefik уже давно хидер пробрасывается

X-Real-Ip

Функция отвечающая за формирование нового хидера - https://github.com/vulcand/oxy/blob/master/forward/rewrite.go#L22

Andor
07.06.2018
15:25:39
Смотрю некие jetstack дофига околокуберного делает, есть у кого опыт с их поделками? Если есть, то как ощущения?

Juriy
07.06.2018
15:45:17
мне нравится слово "лагалище" :)
Зачет, качественное слово. Немецкое :)

kvaps
07.06.2018
15:45:50
:)

Google
Рустам
07.06.2018
17:27:35
Всем привет, такой вопрос, есть django апп, у него есть встроенный веб сервер, он синхронный, чтобы утилизировать ядра прикручивается гуникорн, профитно ли отказаться от гуникорна и утилизировать ядра через куб наделав инстансов и балансировку между ними, если у кого-то есть опыт был бы очень рад послушать

Andor
07.06.2018
17:28:36
удобнее комбинировать

он же сказал, что gunicorn юзает

Paul
07.06.2018
17:29:29
во-вторых – кубер нужен, чтобы запускать приложения. Если ваш джанго-сервер поддерживает работу в компании (то есть можно запустить несколько апп и конфликтовать они не будут) - кубер ваш друг и товарищ

но это большое если :)

Рустам
07.06.2018
17:29:55
удобнее комбинировать
Гуникорн внутри контейнера в один воркер и эти контейнеры плодить?

Paul
07.06.2018
17:30:26
от гуникрона или uwsgi вам все равно не убежать

Andor
07.06.2018
17:31:16
теоретически можно асинхронную джангу сделать, но это не универсальное решение подходящее всем

Рустам
07.06.2018
17:31:22
GIL.
Таки процессы же там, там гил не мешает

Paul
07.06.2018
17:31:39
это наилучший вариант. делаем контейнер с unicron+django и размножаем. Главный вопрос – как джанго прожует работу в кластере, штатных средств кластеризации там не было.

зачем в контейнере запускать несколько процессов? вам проще несколько контейнеров запускать

Andor
07.06.2018
17:32:15
ну стейт лежит в кешах всяких и базах

Andor
07.06.2018
17:32:22
так что небольшая проблема

Deep Sea
07.06.2018
17:32:43
стейт в кеше это проблема ;)

Google
Andor
07.06.2018
17:32:54
прометеем метрики при 1 воркере неудобно снимать %)

Stanislav
07.06.2018
17:32:55
Paul
07.06.2018
17:33:30
так что небольшая проблема
нет, это не то, что бы проблема. Это вопрос. И вопрос звучит очень просто – может ли существующий воркер работать в кластере. и этот вопрос надо задавать программисту. Может там все разумно сделано под кластер. А кеша на запись в джанго по умолчанию нет (и я не представляю, кому может в джанго такая светлая мысль вообще в голову прийти)

а кеши на чтение решаются элементарными sticky sessions

ну или шаровым кешем в редисе или мемкеше

Рустам
07.06.2018
17:37:50
Итак, самый оптимальный вариант это сунуть гуникорн в контейнер с апом в один воркер, а потом эти контейнеры плодить и балансить, я правильно понимаю? И есть ли какой нибудь оверхед в этом, кроме того что контейнер в размере больше становится?

А и чем лучше балансить, нжинксом или средствами куба?

Если я не корректно задаю вопрос подправьте, я не силен в предметной области

Andor
07.06.2018
17:47:39
а "средства куба" это у тебя что?

nginx ingress?

а статику джанговскую ты как раздаёшь кстати?

Рустам
07.06.2018
17:48:52
nginx ingress?
Ingress controller вроде он называется

Andor
07.06.2018
17:49:39
а он у тебя где?

Ingress Controller может быть не только nginx прост

Рустам
07.06.2018
17:50:09
а он у тебя где?
Отдельный контейнер

Andor
07.06.2018
17:50:31
ok

и деплоится отдельным Deployment?

Рустам
07.06.2018
17:52:07
и деплоится отдельным Deployment?
Нет, сейчас он вместе с апом деплоиться, апп через него и баланситься

Andor
07.06.2018
17:52:38
а есть ли контроллер который умеет несколько разных Deployment создавать и контролировать чтобы там были всегда те версии которые надо и делать rollback на предыдущие версии для всех подконтрольных деплойментов?

Google
Рустам
07.06.2018
17:54:23
Подозреваю что нет, я сейчас пытаюсь разобраться с инфраструктурой в новом проекте и спрашиваю бест вейс

Andor
07.06.2018
17:54:43
это я не у тебя лично спрашиваю, а у чата вообще

Рустам
07.06.2018
17:56:35
ну то есть по-сути мне бы хотелось чтобы при фейле деплоймента откатывался и соседний например
Вообще как мне известно делают чтобы infrastructere as a code, и тогда при изменении кода апа, связные контейнеры тоже меняются

Andor
07.06.2018
17:57:14
ну так я спрашиваю как раз про то чтобы контроллер контролировал эту "связанность контейнеров"

Lucky SB
07.06.2018
17:57:53
поднимите в одном поде контейнер с nginx и статикой и контейнер с джанго бекендом

Andor
07.06.2018
17:58:03
да так и делаем щас

но хотелось бы статику отделить

правда не знаю зачем %)

перфекционизм %)

Lucky SB
07.06.2018
17:58:38
тогда надо широко шагать

статику на сдн

Andor
07.06.2018
17:58:51
написать свой контроллер?

ну CDN надо будет как-то вычищать при деплоях, что может быть не так удобно

Lucky SB
07.06.2018
17:59:48
да ладно.... живут же как-то люди

Andor
07.06.2018
17:59:54
да я не спорю

но у нас вообще CDN нету для этого щас :)

Lucky SB
07.06.2018
18:00:20
ну тогда принцип - работает, не трогай )

Google
Andor
07.06.2018
18:00:30
ну тоже верно

Dmytro
07.06.2018
20:13:00
Вот к примеру есть statefelset с двумя репликами. Нафиг им headless сервис?
чтобы можно было все поды одного стейтфулсета дискаверить по днс и им общаться между собой (например, монга)

Andor
07.06.2018
20:15:39
alertmanager в прометее :)

Dmytro
07.06.2018
20:16:52
Ребут не помог) это тестовый кластер, могу себе позволить ребут всего)
бывало такое на версии 1.4 часто, обычно делал kubectl delete pod <pod name> --force и помогало

Stanislav
07.06.2018
20:18:08
Не помогло(

1.10.1

Dmytro
07.06.2018
20:18:32
orphaned pod может появиться когда идет rolling update деплоймента а тут старый под удалили вручную или там нода умерла и под перешедулился на другую. В итоге выходит что куб заскейлил rs от этого пода в 0 но при этом его перезапустил

Andor
07.06.2018
20:19:40
но при этом сам RS ещё жив, верно?

Stanislav
07.06.2018
20:20:03
Это бы я еще понял, тут же на ровном месте

Dmytro
07.06.2018
20:25:18
Гуникорн внутри контейнера в один воркер и эти контейнеры плодить?
мы запускаем 2 воркера гюникорна в одном поде, поду даем реквест-лимитс 1 цпу (как в документации гюникорна советуют 2 воркера на цпу) и дальше HPA это дело скейлит. Уже 9 месяцев - полёт нормальный

но у нас не джанго а фласк если что и апп простой как табуретку - принять json и запихнуть в очередь

Andor
07.06.2018
20:26:51
он у вас и асинхронный наверное до кучи

Dmytro
07.06.2018
20:29:08
ну CDN надо будет как-то вычищать при деплоях, что может быть не так удобно
О_О это еще зачем? девелоперы не умеют версионировать статику нормально штоле?

Andor
07.06.2018
20:29:24
сам-то как думаешь? :)

Dmytro
07.06.2018
20:29:31
Не помогло(
ну тут хз, может завезли новых багов

Andor
07.06.2018
20:30:15
но конечно лучше версионировать и не трахать мозги

один хер s3 есть

Dmytro
07.06.2018
20:31:09
но при этом сам RS ещё жив, верно?
RC может быть жив с desired=0 а может и быть удален уже если кто-то вручную удаляет что-то варварски. Но под уже к RC не привязан даже если он жив (по крайней мере в 1.4 и 1.5 так)

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

Andor
07.06.2018
20:32:17
у тебя кстати HPA по стандартным метрикам работает?

или кастом подключал?

Dmytro
07.06.2018
20:33:05
сам-то как думаешь? :)
так дело нехитрое же, у меня вот в одном проекте есть версионирование для убогих - просто рандомный хеш генерируется при деплое и потом все ссылки на статику выглядят /static/<hash 32 chars>/<css|js|img|...>/...

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