Logan
это наилучший вариант. делаем контейнер с unicron+django и размножаем. Главный вопрос – как джанго прожует работу в кластере, штатных средств кластеризации там не было.
Logan
зачем в контейнере запускать несколько процессов? вам проще несколько контейнеров запускать
Andor
ну стейт лежит в кешах всяких и базах
Рустам
Andor
так что небольшая проблема
Ivan
стейт в кеше это проблема ;)
Andor
прометеем метрики при 1 воркере неудобно снимать %)
Stanislav
Logan
так что небольшая проблема
нет, это не то, что бы проблема. Это вопрос. И вопрос звучит очень просто – может ли существующий воркер работать в кластере. и этот вопрос надо задавать программисту. Может там все разумно сделано под кластер. А кеша на запись в джанго по умолчанию нет (и я не представляю, кому может в джанго такая светлая мысль вообще в голову прийти)
Logan
а кеши на чтение решаются элементарными sticky sessions
Logan
ну или шаровым кешем в редисе или мемкеше
Рустам
Итак, самый оптимальный вариант это сунуть гуникорн в контейнер с апом в один воркер, а потом эти контейнеры плодить и балансить, я правильно понимаю? И есть ли какой нибудь оверхед в этом, кроме того что контейнер в размере больше становится?
Рустам
А и чем лучше балансить, нжинксом или средствами куба?
Рустам
Если я не корректно задаю вопрос подправьте, я не силен в предметной области
Andor
а "средства куба" это у тебя что?
Andor
nginx ingress?
Andor
а статику джанговскую ты как раздаёшь кстати?
Рустам
Andor
а он у тебя где?
Andor
Ingress Controller может быть не только nginx прост
Andor
ok
Andor
и деплоится отдельным Deployment?
Andor
а есть ли контроллер который умеет несколько разных Deployment создавать и контролировать чтобы там были всегда те версии которые надо и делать rollback на предыдущие версии для всех подконтрольных деплойментов?
Andor
ться
Andor
Рустам
Подозреваю что нет, я сейчас пытаюсь разобраться с инфраструктурой в новом проекте и спрашиваю бест вейс
Andor
это я не у тебя лично спрашиваю, а у чата вообще
Рустам
Andor
ну так я спрашиваю как раз про то чтобы контроллер контролировал эту "связанность контейнеров"
Lucky SB
поднимите в одном поде контейнер с nginx и статикой и контейнер с джанго бекендом
Andor
да так и делаем щас
Andor
но хотелось бы статику отделить
Andor
правда не знаю зачем %)
Andor
перфекционизм %)
Lucky SB
тогда надо широко шагать
Lucky SB
статику на сдн
Andor
написать свой контроллер?
Andor
ну CDN надо будет как-то вычищать при деплоях, что может быть не так удобно
Lucky SB
да ладно.... живут же как-то люди
Andor
да я не спорю
Andor
но у нас вообще CDN нету для этого щас :)
Lucky SB
ну тогда принцип - работает, не трогай )
Andor
ну тоже верно
Andor
alertmanager в прометее :)
Stanislav
Не помогло(
Stanislav
1.10.1
Dmytro
orphaned pod может появиться когда идет rolling update деплоймента а тут старый под удалили вручную или там нода умерла и под перешедулился на другую. В итоге выходит что куб заскейлил rs от этого пода в 0 но при этом его перезапустил
Andor
но при этом сам RS ещё жив, верно?
Stanislav
Это бы я еще понял, тут же на ровном месте
Dmytro
но у нас не джанго а фласк если что и апп простой как табуретку - принять json и запихнуть в очередь
Andor
он у вас и асинхронный наверное до кучи
Andor
сам-то как думаешь? :)
Dmytro
Не помогло(
ну тут хз, может завезли новых багов
Andor
но конечно лучше версионировать и не трахать мозги
Andor
один хер s3 есть
Dmytro
но при этом сам RS ещё жив, верно?
RC может быть жив с desired=0 а может и быть удален уже если кто-то вручную удаляет что-то варварски. Но под уже к RC не привязан даже если он жив (по крайней мере в 1.4 и 1.5 так)
Dmytro
Andor
у тебя кстати HPA по стандартным метрикам работает?
Andor
или кастом подключал?
Dmytro
сам-то как думаешь? :)
так дело нехитрое же, у меня вот в одном проекте есть версионирование для убогих - просто рандомный хеш генерируется при деплое и потом все ссылки на статику выглядят /static/<hash 32 chars>/<css|js|img|...>/...
Andor
да у нас можно просто циферки по версии релиза
Dmytro
и потом тупо реврайтом нжинкса вырезается хеш из угла и на папку /static/<css|js|img|...>/... мапится
Andor
или даже хардкодить заставлять
Dmytro
ну вот пинками их завставь один раз поменять урлы
Andor
да допинаю когда-нибудь
Andor
но потом %)
Dmytro
и дальше можно и в сдн, и ингрессом все что /static отправить в отдельный под и т.д. и т.п.
Andor
по-хорошему статику вообще в отдельный домен без кук выносить
Dmytro
тогда уж в несколько поддоменов чтобы сделать domain sharding и грузилось шустрее
Dmytro
но это уже оффтоп пошёл совсем
Костя