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

—env у команды werf bundle apply? Если в werf converge он задавал имя namespace и чарта, то в werf bundle apply заметил, что развертывание происходит в namespace default, а новый namespace вообще не создается

14 ответов

24 просмотра

> Если в werf converge он задавал имя namespace и чарта Всё так, он использовался по умолчанию при формировании release-name / namespace-name (JFI шаблон можно изменить в werf.yaml) и chart-app-name в случае, когда мы имеем Git-проекта (werf render / werf converge / ...). Когда же мы используем bundle, конечный артефакт, отвязанный от Git, env влияет только на моменты второго плана: доступна в чарте бандла в служебных переменных, а также добавляется дополнительной аннотацией ко всем ресурсам.

Сергей-Сухорада Автор вопроса
Aleksei Igrychev
> Если в werf converge он задавал имя namespace и ...

тогда совсем ламерский вопрос: я как то могу дернуть project-name из werf.yaml для указания —namespace в werf bundle apply? Мб какая то переменная есть?

Сергей Сухорада
тогда совсем ламерский вопрос: я как то могу дерну...

Зачем вы используете бандлы, если на этапе развёртывания у вас есть git-проекта?

Сергей-Сухорада Автор вопроса
Aleksei Igrychev
Зачем вы используете бандлы, если на этапе развёрт...

у нас есть старые k8s кластера, на которых pipeline организован с помощью werf converge и появляются новые, на которых будет Flux. Планируем Flux'ом деплоить через oci бандлы. У Flux будет отдельная монорепа, а oci бандлы будет собирать и отправлять в registry с помощью werf bundle publish. Проекты постепенно будем переводить на новые кластера, но необходимо сохранить возможность развертывания на старые. Планирую в старые кластера также деплоить через бандлы, только уже без flux

Сергей Сухорада
у нас есть старые k8s кластера, на которых pipelin...

Скоро подвезём интеграцию Flux + Nelm -- сможете катать Helm-чарты со всеми нашими фичами. $ werf helm get-autogenerated-values --stub-tags | yq .werf.name project-name

Anton
Хм, я и сейчас катаю ваши бандлы 🤔

Да, но нет. Вы по сути катаете обычные Helm-чарты, а вся функциональность werf поверх остаётся за бортом, т.е. то, что выкатывалось с werf, не факт, что доедет с Flux в вашем случае. Наша цель -- идентичное поведение при выкате с помощью werf converge / werf bundle apply и при использовании Flux (по сути pull и push подходов).

Aleksei Igrychev
Да, но нет. Вы по сути катаете обычные Helm-чарты,...

Есть такое ага, пришлось отказаться от werf secret

Aleksei Igrychev
Да, но нет. Вы по сути катаете обычные Helm-чарты,...

А на ArgoCD такой глубокой интеграции так не будет?🥺

სერგეი ქრისტოვი
А на ArgoCD такой глубокой интеграции так не будет...

Для Flux мы просто пишем контроллер и всё нативно встраивается. В случае с ArgoCD из нативности мы уже выжили максимум и дальше только fork и перепил по аналогии с Helm и Nelm.

სერგეი ქრისტოვი
А на ArgoCD такой глубокой интеграции так не будет...

В арго не очень хорошо сделано. Там у них свой кастомный деплоер, которые везде прибит к арго. Простого способа подменить его нет, только форк (но боюсь это будет очень сложной задачей). С Helm у них те же проблемы, их деплоер часть фич Helm-чартов/шаблонов не поддерживает. Пока решение по Argo не приняли, надо глубже разбираться.

Ilya Lesikov L.
В арго не очень хорошо сделано. Там у них свой кас...

Вся суть в том, что у argo по итогу даже хельм используется только для рендера. Т.е. если научить werf закидывать аннотации sync-wave то это конечно не dependOn, но хоть какой-то порядок и минус рутина. А я все жду kustomize в werf... когда же случится? Когда мы сможем юзать patches?

Abix
Вся суть в том, что у argo по итогу даже хельм исп...

Всё же у нас сейчас большая часть плюшек подсистемы развертывания находится непосредственно в деплое ресурсов (трекинг и прочее), т. е. либо мы встраиваем Nelm в argo, либо учим argo всему тому же, что умеет Nelm (нереально), либо вот вариант с CR-ками. Просто werf render туда принести смысла особо нет. По sync-wave, может я неправильно понял, но у нас есть werf.io/weight (то же самое, что волны), и теперь ещё werf.io/deploy-dependency. По kustomize пока не добрались, правда для патчинга там скорее всего будет что-то такое, а не kustomize

Ilya Lesikov L.
Всё же у нас сейчас большая часть плюшек подсистем...

😳 может всё-таки нормальный кастомайз читать? И просто его рендерить. Тогда и helm можно рендерить через него, иногда. Мы очень давно такую связку используем, как такового helm нет в кластерах.

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

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

Всем привет 👋 Подскажите пожалуйста, а чего тут не хватает permission или образ битый? Running with gitlab-runner 17.0.0 (44feccdf) on gitlab-runner-c58775949-d7znz YxYz2zp...
Max
2
Коллеги, у меня тут возникла одна очень интересная задачка. Есть один бандл, который содержит в себе 2 типа образов - бэкенд и фронтенд. Выкатываются последовательно, сперва б...
სერგეი ქრისტოვი
12
Коллеги, день добрый первый раз решил потрогать верфь, и не понял один момент пробую werf + helm-secrets плагин? почему оно в HELM_BIN кладет "werf-in-a-user-namespace"? HELM_...
Elenhil
8
Добрый день, подскажите пожалуйста. RabbitMQ автоматически создаёт очередь если я отправляю сообщение в несуществующую очередь? Вопрос вроде тупой, но мнения разошлись. Одни г...
Elmo
9
Привет. Почему может RabbitMQ через эндпойнт :15692/metrics/detailed?family=queue_metrics не выдавать метрик по конкретной очереди (выдавать нули)? кластер кроля в кубере сост...
Vlad
4
config file failed: GET https://index.docker.io/v2/library/gradle/manifests/sha256:3a895bcb1cc3bd1e1235befa1a6b32ca8cc72a105a9086ed303f24c37a551df7: TOOMANYREQUESTS: You have ...
Max
5
Всем привет! Использую gitlab-ci. Настроил gitlab-agent для деплоя в куб. При деплое проекта в логах такая ошибка: Executing deploy plan failed to watch "ns:my-project/Ingress...
Konstantin Moiseev
7
спасибо, может глупый вопрос, как я понял - он запустит в кубе, а как в таком случае артефакт забрать? скажем тест отдает json файл который надо сгрузить к себе в CI
Egor Talantsev
1
Должно получиться так? project: myproject-be configVersion: 1 deploy: helmRelease: "[[ project ]]-[[ env ]]" namespace: "[[ env ]]" --- image: apiapp dockerfile: compose/...
Evgheni Mad
1
Блин а мне как поумнеть ?
Toxin
191
Карта сайта