Size: a a a

2020 March 16

DS

Dmitry Sergeev in DevOps
Dmitry Sergeev
Для этого автосквош есть :) Но кодеры вообще тут не при чём. У вас должно быть две репы, для инфраструктуры и для кода, отдельно

1) Кодер херачит код в мастер
2) Ставит новый тег
3) Идёт и выставляет в репе инфры новый тег
4) Коммитит
5) CI запускает деплой
6) Если во время деплоя возникают проблемы, то загорается alert
7) Дежурный разработчик лезет смотреть что сломалось
8) По завершении дебага делает реверт в гите инфраструктуры
@elemir90
А вот пример:

Версия приложения v1.0.1 зависит от такого конфига nginx
v1.0.2 от другого конфига nginx.

В случае если у нас этот конфиг в той же репе. То проблем нет. Если у нас сабмодули, то это считай таже самая репа, так как твой подход совсем другое предполагает и сабмодули там неподходят.
Как решать такую проблему в твоем подходе? Разраб захотел откатиться на более старую версию, он зашел в репу для инфры, закомитил туда версию v1.0.1 но забыл поменять конфиг nginx. И приехали, откатить то откатили, но при этом все равно получили сломанное приложение
источник

ЕО

Евгений Омельченко in DevOps
Dmitry Sergeev
@elemir90
А вот пример:

Версия приложения v1.0.1 зависит от такого конфига nginx
v1.0.2 от другого конфига nginx.

В случае если у нас этот конфиг в той же репе. То проблем нет. Если у нас сабмодули, то это считай таже самая репа, так как твой подход совсем другое предполагает и сабмодули там неподходят.
Как решать такую проблему в твоем подходе? Разраб захотел откатиться на более старую версию, он зашел в репу для инфры, закомитил туда версию v1.0.1 но забыл поменять конфиг nginx. И приехали, откатить то откатили, но при этом все равно получили сломанное приложение
Не юзать сабмодули в инфраструктуре. Вообще у тебя напрашивается образ с nginx'ом, который ты прописываешь в манифесте
источник

ЕО

Евгений Омельченко in DevOps
Мы, надеюсь, про k8s до сих пор общаемся
источник

ЕО

Евгений Омельченко in DevOps
А то нас оттуда выгнали, и теперь непонятно мы вообще или про k8s
источник

DS

Dmitry Sergeev in DevOps
Евгений Омельченко
Не юзать сабмодули в инфраструктуре. Вообще у тебя напрашивается образ с nginx'ом, который ты прописываешь в манифесте
то есть конфиг nginx таки хранить в образе с проектом?
источник

ЕО

Евгений Омельченко in DevOps
Нет, смотри, у тебя есть шаренный nginx на несколько проектов, так? Значит это какой-то nginx-образ из отдельной репы
источник

I

Igor in DevOps
bruin
линь, докер, заббикс - все это либо на амазонах либо на azure либо вообще фиг пойми на чем
попробовать через селектел тогда может делать. У них есть партнерка с амазоном. мб есть и с ажуром. Базовые виртуалки и кубер таким образом вы точно получить сможете. Ну а дальше разгрести мусор, обобщить все, что можно, и там что угодно подойдет.
источник

ЕО

Евгений Омельченко in DevOps
Никаких сабмодулей, связи должны быть слабыми, через артифакты
источник

DS

Dmitry Sergeev in DevOps
Евгений Омельченко
Не юзать сабмодули в инфраструктуре. Вообще у тебя напрашивается образ с nginx'ом, который ты прописываешь в манифесте
Окей, давай другой пример. Не nginx.
Давай так.

Для версии v1.0.1 нужно было два деплоймента (в терминах k8s)
Для версии v1.0.2 один деплоймент.

И таже самая история. Разраб выставил версию v1.0.1, но забыл вернуть второй деплоймент. И опять получили сломанное приложение
источник

ЕО

Евгений Омельченко in DevOps
Куда выставил-то?
источник

DS

Dmitry Sergeev in DevOps
Евгений Омельченко
Куда выставил-то?
в репу с описанием инфры
источник

ЕО

Евгений Омельченко in DevOps
Взял нажал revert commit в репе, ну
источник

I

Igor in DevOps
bruin
линь, докер, заббикс - все это либо на амазонах либо на azure либо вообще фиг пойми на чем
вообще, да - это выглядит как необходимость уборки, а не как поиск CMDB лучше чем есть.
источник

DS

Dmitry Sergeev in DevOps
Евгений Омельченко
Взял нажал revert commit в репе, ну
ну так он все время версии меняет, очень редко yaml'ы для куба, ну забыл он про то, что версии v1.0.1 нужно два деплоймента.
Просто твой подход, не гарантирует что версия описания инфры точно совместимо с версией приложения
источник

b

bruin in DevOps
Igor
вообще, да - это выглядит как необходимость уборки, а не как поиск CMDB лучше чем есть.
источник

I

Igor in DevOps
а вообще - хорошая тема Terraform
источник

GG

George Gaál in DevOps
Давайте часа через три продолжим дискуссию ?
источник

ЕО

Евгений Омельченко in DevOps
Dmitry Sergeev
ну так он все время версии меняет, очень редко yaml'ы для куба, ну забыл он про то, что версии v1.0.1 нужно два деплоймента.
Просто твой подход, не гарантирует что версия описания инфры точно совместимо с версией приложения
Нет, при роллбеке кодер делает revert commit
источник

GG

George Gaál in DevOps
У меня 2%
источник

GG

George Gaál in DevOps
Евгений Омельченко
Нет, при роллбеке кодер делает revert commit
Ну, это новый коммит
источник