172 похожих чатов

47 ответов

10 просмотров

Правильно шаблонизировать values - helmfile к примеру - но это спорно

нету правильно, если это что-то универсальное, то оно должно быть идемпотентно.. или дайте больше контекста, что вы пытаетесь оптимизнуть

Илья IT- Автор вопроса
Sergei Monakhov
нету правильно, если это что-то универсальное, то ...

Сейчас, я договорю по тел опишу подробнее что есть и какую проблему решаю...

Sergei Monakhov
нету правильно, если это что-то универсальное, то ...

Хочу шаблонизировать values - расскажи как правильно контекст: 1. Приложуха 2. Деплоится в разные ns 3. Переменные зависят от среды

Aleksey Lazarev
Хочу шаблонизировать values - расскажи как правиль...

не деплоить в разные нс, или описывать каждый комонент отдельно и юзать хелмфайл,хелмвайв, аргосд/ flux... etc

Илья IT- Автор вопроса
Sergei Monakhov
нету правильно, если это что-то универсальное, то ...

Вернемся к нашим баранам) Итак, есть приложуха, она состоит из микросервисов (неожиданно). Есть Кластера (дев, тест, стейдж и тп). Есть Головной хельмчарт для всего. Каждый микросервис описан отдельным сабчартом со своими вэльюс и конфиг.ямл и прочими приблудами. На данный момент получается, что каждый микросервис должен деплоиться во все неймспейсы во все кластера со своими значениями (пути к базам, настройки ингреса, кол-во реплик и пр). Сейчас это все сделано так, что для каждого неймспейса создан отдельный конфиг.ямл И при деплое хельму просто подкладывается нужный конфиг. А теперь момент: в имени конфига зашито имя кластера и имя неймспейса и сиайка при деплое выбирает конфиг по маске. Поддерживать такую струтуру оч сложно, особенно когда у тебя кластеров не один и не два и в каждом неймспейсов не5 и не 10... Вот и идея такая, чтоб был один конфиг и он уже дофаршировывался значениями из файла с переменными вида: namespace1: name: value Namespace2: name: value Готов с радостью выслушать альтернативные идеи решения вопроса)

Илья IT
Вернемся к нашим баранам) Итак, есть приложуха, он...

иерархию переменных и отличия от базовых поясни

Илья IT- Автор вопроса
George Gaál
иерархию переменных и отличия от базовых поясни

Ну вот например в ингресе. Есть там дериктива path. Для одного на она будет path: /app/namespace1/ для ругого /app/namespace2/

Илья IT- Автор вопроса
George Gaál
там неймспейс вшит? и что ?

Обстрагируйся от того что это нс. Там можно релизнеймспес вкорячить. Просто разные значения в зависимости от нс. Типа разный хост и порт для базы каждому нс

Илья IT
Ну вот например в ингресе. Есть там дериктива path...

Разные valeus или разные структуры в одном vaules. Делай как удобно. Вот например в одном values stages: prod: &PROD param1: val1 param2: val10 dev: &DEV param1: val2 param2: val30 deploy_app: app1 env: prod apps: app1: prod: <<: *PROD param1: val3 ns: namespace1 dev: <<: *DEV ns: namespace999 app2: prod: <<: *PROD param1: val3 ns: namespace222 dev: <<: *DEV ns: namespace333 При деплое просто указываешь какой апп хочешь зарелизить и c каким енвом helm upgrade -i --set deploy_app=app2,env=dev app ./appChart То что оно у тебя будет в одном values, кучу переменных никуда не пропадут, просто запихнешь их в один values.yaml

Илья IT- Автор вопроса
Илья IT
Ну вот я так примерно и хотел)

так это тоже самое что несколько vaules. Вместо кучи values, будет куча апов в apps в одном values

Илья IT- Автор вопроса
Dmitry Sergeev 🇺🇦
так это тоже самое что несколько vaules. Вместо ку...

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

Dmitry Sergeev 🇺🇦
Разные valeus или разные структуры в одном vaules....

Ни разу не видел якоря в вальюс) видимо я еще не дорос до такого

Илья IT
Вернемся к нашим баранам) Итак, есть приложуха, он...

Что вам мешает деплоить каждый микросервис отдельно? Зачем тут такой комбайн из кучи ямла и шаблонов

Илья IT- Автор вопроса
Dmitry Sergeev 🇺🇦
Разные valeus или разные структуры в одном vaules....

@ilya_it C такой структуров тебе придется во всех шаблонах делать в начале что-то типо {{ $env := index (index .Values.apps .Values.deploy_app) .Values.env }} И тогда в шаблоне можно будет к param1 обратится например так: $env.param1

Илья IT- Автор вопроса
Sergei Monakhov
Что вам мешает деплоить каждый микросервис отдельн...

Ну если под каждый микросервис отжельно все делать это еще монструознее выйдет...

Aleksey Lazarev
Ни разу не видел якоря в вальюс) видимо я еще не д...

нет, ты просто в отличии от меня нормальный чувак, и юзаешь несколько values файлов

Dmitry Sergeev 🇺🇦
нет, ты просто в отличии от меня нормальный чувак,...

Как красиво указывать вальюс для амбрелла чарт

Sergei Monakhov
Что вам мешает деплоить каждый микросервис отдельн...

У меня это не микросервис например. А просто различные вариации одного и того же приложения. То есть в чарте не куча разных приложений, а одно, но на проде его вариаций может быть несколько. Разные секреты у них, базы данных, домены, переменные среды и т.д. Но образ один

Dmitry Sergeev 🇺🇦
У меня это не микросервис например. А просто разли...

ну у меня тоже есть универсальный чарт, туда вообще что угодно можно засунуть, я к тому, зачем этим управлять из одно места

Sergei Monakhov
ну у меня тоже есть универсальный чарт, туда вообщ...

не, это не универсальный чарт. Это фактически одно приложение, один код, один образ и один чарт helm, без особых вариаций. Но инсталяций в проде, может быть его несколько, с разными базами, разными доменами и тому подобное

Sergei Monakhov
это странно выглядит

Да нет вполне нормально. Например у меня конкретно это бэки для приложений для google, ios, facebook, vkontakte, wechat, mixi, hangame и так далее. Для каждой такой платформы могут быть разные версии такого бэка, они могут деплоятся в разные кластера, и имеют разные базы данных, домены и т.д.

Dmitry Sergeev 🇺🇦
Да нет вполне нормально. Например у меня конкретно...

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

Sergei Monakhov
да но как тут ролбэки делать например, релиз то од...

релиз не один, каждая вариация отдельный релиз, версии могут отличаться. Роллбек делается просто, указываешь предыдущий тег и делаешь upgrade

Sergei Monakhov
да но как тут ролбэки делать например, релиз то од...

можно и с арго, принципиальных отличий не вижу. пуш на пулл только поменяем

Dmitry Sergeev 🇺🇦
релиз не один, каждая вариация отдельный релиз, ве...

но это может сломаться, если придется откатится не на предыдущий, комбинаторика говорит, что это возможно и с ростом числа зависимостей вероятность повышается

Sergei Monakhov
но это может сломаться, если придется откатится не...

Часто за последние полгода откатывался? А не на предыдущий?

Sergei Monakhov
но это может сломаться, если придется откатится не...

там нет роста числа зависимостей. Выбираешь любой тег, хоть месячной давности, не понял в чем проблема о которой ты говоришь

Dmitry Sergeev 🇺🇦
там нет роста числа зависимостей. Выбираешь любой ...

я имею ввиду ролбэк самого хелм релиза, когда values меняется например

Sergei Monakhov
я имею ввиду ролбэк самого хелм релиза, когда valu...

Все равно не понял =). Ну берешь указываешь старый тег, вместо текущего, вот и весь роллбэк

Sergei Monakhov
я имею ввиду ролбэк самого хелм релиза, когда valu...

ты в целом говоришь про решение несколько values.yaml vs один values.yaml? Я не топлю ни за какой вариант, если что. Что удобно то и юзать

Sergei Monakhov
да но как тут ролбэки делать например, релиз то од...

вот тут под распилить ты что имеешь в виду? На разные values.yaml? Можно и так конечно, я не против

Dmitry Sergeev 🇺🇦
ты в целом говоришь про решение несколько values.y...

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

Sergei Monakhov
мой посыл в том, чтобы у каждого апа был свой хелм...

не понял как это противоречит. Я же не говорил лить в один релиз всё. Я же писал, что такой бэк может вообще в отдельный кластер лится, или в отдельный namespace. Вот например google льется в кластер в европе, wechat в китае. Почему один релиз то?

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
70
Здравствуйте. Задача состоит в том, чтобы сделать real-time чат в мобильном приложении. После передачи сообщения пользователем через веб-сокеты, для основного и долговременног...
🐾
5
Всем доброго дня, ребят подскажите пожалуйста, если в курсе по ассемблеру используется MASM32, могу ли я использовать FASM? В чем явная разница и будет ли у меня все работать?
Botsman
17
падает джоба хотя уже была собрана на соседнем namespace, куда капать? │ │ Copying blob sha256:2fa066caddb8f09a71082b03aa43046f79346a01d9c89e06a1f508bb1207dba5 427 │ │ Copyin...
Andrei St
5
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
25
Книга Юрова В.И пойдёт для обучения?
Botsman
24
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Люди добрые, помогите с идеями, потому что свои закончились. У клиента падает софтина в момент инициализации модуля OtlEventMonitor на RegisterWindowMessage('Gp/OtlTaskEvents/...
Михаил Усков
7
Тут просто дело в том, что я не могу сейчас дать такие подробности из за того что рассчитать это всё нереально. Этого проекта который я хочу сделать ещё даже не существует) И ...
🐾
8
> Примечательно, что новый владелец удаляет из GitHub любые жалобы, указывающие на подозрительную активность или смену владельца, и, видимо, рассчитывает на то, что пользовате...
Alex Sherbakov
2
Карта сайта