bebebe
как вариант можно посмотреть в эту сторону http://docs.ansible.com/ansible-container/
G72K
не совсем понятно как ksonnet может заменить Helm
Все что умеет выдавать ямлы в stdout может заменить хелм
bebebe
оно умеет шипать в k8s/openshift контейнеры, но это если есть богатая инфрастуктура на ansible
Vadim
как вариант можно посмотреть в эту сторону http://docs.ansible.com/ansible-container/
Тогда уже APB - https://github.com/ansibleplaybookbundle/ansible-playbook-bundle/blob/master/docs/getting_started.md
Vadim
сам ansible-container ничего про деплойменты толком не знает
bebebe
я им орекстрировал деплоймент приложения, имаджи для которого готовил сам ansible-container. такое конечно
bebebe
apb не видел на тот момент
Vadim
ну APB посложнее, оно и конфигурироваться умеет, у него внутре ansible-container
bebebe
понял, как ощущения ?
Vadim
я деплою им доп. сервисы - типа postgresql - или hastebin сразу. Чуть более сложные вещи - jenkins pipelines если не особо сложно, если сложнее - кастомным энсибломским плейбуком
Igor
Все что умеет выдавать ямлы в stdout может заменить хелм
эм, еще есть четко поставленый воркфлоу, дополнительные удобства при апдейтах и готовые чарты
Andor
которые всё равно надо допиливать или перепиливать?
Vadim
это если хелмовский воркфлоу вам подходит
Anton
эм, еще есть четко поставленый воркфлоу, дополнительные удобства при апдейтах и готовые чарты
Какой workflow в helm? Helm upgrade --install? Чарты да, на старте прям наслаждение
bebebe
многие чарты мягко говоря неюзабельны
Paweł
В values нельзя использовать другие values, т.е. тот же Release.Name не впихнуть. Плюс в публичных чартах надо дать какой то дефолтный конфиг, чтоб установил и работало
А я именно под переопределения завожу отдельную настройку - по умолчанию она пустая. В values и нет смысла иметь вычисляемые значения - обычно сами values подставляются в рамках CI/CD где и так можно все предвычислить и подставить уже готовое да и с переменными если во много мест
G72K
А я именно под переопределения завожу отдельную настройку - по умолчанию она пустая. В values и нет смысла иметь вычисляемые значения - обычно сами values подставляются в рамках CI/CD где и так можно все предвычислить и подставить уже готовое да и с переменными если во много мест
Как ваша настройка смержит все конфиги из чарта и ваше переопределение в один ? Переменые в values нужны, если ваше переопределение для конфига должно содержать скажем хост редис сервиса, который подтягивается по зависмостям чарта
Paweł
Как ваша настройка смержит все конфиги из чарта и ваше переопределение в один ? Переменые в values нужны, если ваше переопределение для конфига должно содержать скажем хост редис сервиса, который подтягивается по зависмостям чарта
В моем случае объединением настроек уже занимается сам настраиваемый контейнер. Хотя может и можно написать на этих go-template и соединение массивов с обновлением по ключам. А на счёт переменных в values - думаю можно через переменные среды что-то подобное провернуть: сделать настройку означающую имя переменной среды из которой потом нужно будет брать хост например...
G72K
Или не использовать хелм :))
Dmytro
json не уверен - надо смотреть в доке по темплейтам
Maksim
json не уверен - надо смотреть в доке по темплейтам
json-patch-merge. Есть такой тип данных в htto. Интересно к чему бы)
G72K
точно можно мерджить yaml
точно можно чтобы и мержить и values испольовать в дефолтном конфиге? ) пробовали?)
Dmytro
не уверен что понял вопрос, можно мерджить несколько values.yaml файлов и они будут оверрайдить дефолтные значения из values.yaml внутри самого чарта, deep merge на 3 уровня точно есть (по крайней мере кастомный values.yaml по отношению к дефолтному)
Paweł
Отлично! Я понял как могу выкрутиться: делаю вместо json как я раньше показывал все на yaml тогда он будет из коробки частично переопределяем на нужную глубину - а в самом чарте конверчу всю структуру в json - получаю расширяемую и переопределяемую настройку без обновления чарта! Завтра утром попробую😎
Dmytro
может я не понимаю что-то, вот как делается в офф чарте для монги https://github.com/kubernetes/charts/blob/master/stable/mongodb-replicaset/values.yaml#L75 и потом это в виде конфигмапа подключается https://github.com/kubernetes/charts/blob/master/stable/mongodb-replicaset/templates/mongodb-configmap.yaml#L12 все что в values.yaml можно заоверрайдить в кастомном values.yaml с deep merge, с иерархией (порядком мерджа) кастомных values.yaml и оверрайда через --set flag
Dmytro
@rossmohax а вам в каком виде это нужно сделать?
Vitalii
Ребят, посоветуйте кубе провайдера для небольшого продакшена. Нужно создать инфтраструктуру под проект ориентированный на МСК и область. Либо брать железку, ставить туда Proxmox, создавать машины и разворачивать k8s либо брать в облаке готовое. Что дешевле и надежнее с учетом зп админа на разворот и на обслуживание собственного облака? Кто как делает?
Stanislav
Ну я как-то сравнивал цены на GKE инфру в GCP и железки от servers.com, на серверсах получилось в 1.5 раза дешевле по инфре. Зп админа не считал тут.
Andrey
Зп админа - слишком неопределенная величина :) используйте аутсорс и не думайте. Зачем proxmox? Куб на голых железках
Andrey
Железки в селектеле дешевые
Dmytro
для мск наверное нужен локальный дц, какой-нибудь vscale
Andrey
Vscsle дороже выйдет, чем железки
Dmytro
так там продакшн небольшой говорит Виталий, на железках бекап надо самому городить и т.д.
Andrey
Ну если хочет админа под это дело :) то думаю с бекапами разберется
Dmytro
а на vscale можно скейлиться туда-сюда, апи есть
Dmytro
надо считать под конкретное приложение и его трафик
Andrey
Короче слишком мало вводных ;)
Dmytro
+1
Dmytro
оффтоп но может кому-то будет тоже полезно https://github.com/GoogleCloudPlatform/container-structure-test
Vitalii
Короче слишком мало вводных ;)
Скажите, пожалуйста, каких данных не хватает чтобы определиться где хоститься? Я начну собирать инфу. Благо проект уже работает не первый год и есть с чего снять метрики.
Andrey
Скажите, пожалуйста, каких данных не хватает чтобы определиться где хоститься? Я начну собирать инфу. Благо проект уже работает не первый год и есть с чего снять метрики.
Какой трафик? Объёмы потребляемых ресурсов (примерно), нужен ли быстрый скейлинг инфры в разы? Или более плавный? Какой уровень sla нужен? Нагруженные базы?
Andrey
Наверное даже возможность быстрого скейлинга по каким ресурсам, самый важный вопрос выбора провайдера
Ivan
Всем привет!
Ivan
Случилась такая беда - после того, как начал прописывать resources limits и requests перестал запускаться один из подов. пишет: https://gist.github.com/beatlejuse/67ba31cc82ef227d29853230430123af при этом в консоль валится такое:
Ivan
Ivan
что то убивается по памяти. а что - не могу понять
Vadim
убивается runc - то есть, какой-то контейнер
Vadim
можно по журналу можно посмотреть что это был по pid
Ivan
да, я нашёл что это за контейнер - это pause - такой поднимается для каждого контейнера в кубернете - их не видно в kubectl но видно в докере. насколько я понимаю, он отвечает за какие то манипуляции с сетью
Ivan
но откуда у него взялись лимиты памяти - не представляю
Ivan
я прописал лимиты для kube-proxy, apiserver, controller-manager и sheduler
Ivan
до этого прописывал ещё и для kubelet, но сейчас убрал
Igor
Друзья, Мы рады анонсировать очередную нашу встречу 6 марта в 19:00. На этот раз компания "Dino Systems" порадует нас докладами о разработке приложений в Kubernetes. 19:00 - 20:00: Kubernetes - от идеи до продукта. Спикер: Иван Анисимов «Реальный пример развития проекта прошедшего от фазы идеи до крайне успешного продукта менее чем за 2 года. Я покажу, как мы перешли с железных серверов на Mesos, с Mesos на Self-hosted Kubernetes и как в самом конце мы освоили полностью облачный GKE. В ходе доклада я рассмотрю наши успехи и неудачи и то, как росло наше понимание работы с Kubernetes на протяжении этих 2-х лет.» 20:00 - 20:30: Пицца, чай кофе. 20:30 - 21:30: Kubernetes и микросервисы. Спикер: Иван Анисимов «Один из лучших способов развернуть свой продукт на Kubernetes - это использование микросервисов. Этот семинар про то, какими именно должны быть эти микросервисы, как они должны быть настроены и развернуты. Мы обсудим использование gRPC и Protobuf, поговорим о Ingress и балансировке нагрузки и о том, как можно развернуть множество разных типов микросервисов вместе». https://www.meetup.com/Kubernetes-Novosibirsk/events/248011940/
Видео и аудио со слайдами митапа “Kubernetes - from Zero to Hero”: 1. https://www.youtube.com/watch?v=Wtqur0iAa8g 2. https://www.youtube.com/watch?v=NpHA1Sx_4WY
Slach
;)) никому ненужна все мы тут широкоизвестны в узких кругах
Anonymous
кто-нибудь пользуется чартом mongodb-replicaset? как мне кастомизировать его? MongoError: Majority read concern requested, but server was not started with --enableMajorityReadConcern.
Igor
там же в values.yaml внизу можно кастомизировать конфиг файл. через него, на сколько помню, можно и readconcern настроить. или не?
Anonymous
да вот то ли смотрю не туда, то ли нельзя 🤔
Igor
через setParameter вроде можно
Igor
https://docs.mongodb.com/manual/reference/configuration-options/
Logan
коллеги, у кого штатный nginx ingress – letsencrypt смогли прикрутить?
Anonymous
Обнови контейнер до 3.6
ох надеюсь что все действительно так просто, как проснусь проверю, спасибо большое за совет)
Etki
oh please not again
Max
Bare metal
Max
Из двух машин и одной впски для арбитра
Max
Первая машина помощнее и с быстрым диском для мастера
Max
Вторая слейв
Max
Типичный replicaset)