Andor
Без "бы"
Denis
Жсоннетом
Почему? Там вроде kustomize подходит для этих целей.
Andor
Кастомайз это патчи без логики, жсоннет с логикой
Denis
Кастомайз это патчи без логики, жсоннет с логикой
В этом согласен. Судя по экзамплам, там логики больше
Andor
И почему-то от жсоннет блевать не хочется, в отличие от жаваскрипта
Andor
Не могу объяснить
Andor
Понимаю. Каждому своё)
Да я думаю специальным инструментом всегда удобнее пользоваться, чем инструментом, который был сделан на коленке для одной задачи, и за 20+ лет вырос в странного монстра
G72K
И почему-то от жсоннет блевать не хочется, в отличие от жаваскрипта
Я когда впервые увидел джсоннет тоже мутило. Кстати, как там мир PHP с одним апачем , rsync и без кубов?
G72K
https://github.com/tommy351/kosko/blob/master/examples/template-component/templates/hpa.js мощный темплейтинг однако
Как там html собирают нынче? JSX? Вот что то подобное бы, только полегче
Phil
ааххахахахахах
Mik
Как бы и чем вы доставляли в кубик апп, если нужно доставлять все ветки с уникальным днс, и убивать все если ветку потрут?
engelbart
А что происходит если не указывать limits requests
George
жопа
Oleg
А что происходит если не указывать limits requests
Может и ничего. А может раскукожит как полезную нагрузку, так и сам кластер. Лучше указывать, мониторить и, по мере необходимости, актуализировать.
Rainbow
https://github.com/tommy351/kosko/blob/master/examples/template-component/templates/hpa.js мощный темплейтинг однако
чувак херню нагородил. Вместо тупого const hpa = args => ({ metadata: { name: args.deployment }, spec: { scaleTargetRef: { apiVersion: "apps/v1", kind: "Deployment", name: args.deployment }, minReplicas: args.minReplicas, maxReplicas: args.maxReplicas, targetCPUUtilizationPercentage: args.cpu, } }); console.log(JSON.stringify(hpa(...))); и конкретно это ничем не отличается особо от jsonnet
Vadim
https://www.surveymonkey.com/r/kubernetes-support-survey-2019 последние времена настают, LTS Working group жаждет вашего мнения о возможности LTS релиза кубеней
George
Думаешь, на базе кубернетеса сделают Скайрим, тьху, Скайнет ?
Vadim
Почему последние времена?
потому что еще больше компатибилити и устаревших интерфейсов придется тащить в новую версию
𝚔𝚟𝚊𝚙𝚜
Почему? Там вроде kustomize подходит для этих целей.
Kustomize уже на jsonnet написали https://github.com/anguslees/kustomize-libsonnet
Andor
Ыыы
Andor
СNЛА ксоннет в генерируемых обвязках про кубе-апи
Vadim
"Я думаю что CNЛА в девелоперах, у кого ксоннет тот и прав"
Petr
какой у вас опыт с pulumi?
Около 2-3 месяцев
Petr
Вообще не вижу, чтоб кто-то этот инструмент обсуждал. Как по мне, идея для тулзы просто охеренная, на изи решает проблему infrastructure as code
Rainbow
Чем отличается const deployment = new k8s.apps.v1.Deployment({ ... }); от const deployment = { ... } по докам там одинаковое содержимое в объектах.
Vadim
ну и питоновские биндинги у них сильно поломаны
Petr
идея очень классная, меня только смущает требование хранить стейт на их серверах
После деплоя выплевывается json файл, его можно хостить самостоятельно
Petr
Чем отличается const deployment = new k8s.apps.v1.Deployment({ ... }); от const deployment = { ... } по докам там одинаковое содержимое в объектах.
Пулуми хранит состояние кластера на момент каждого деплоя, таким образом знает что надо обновлять, а что нет
Vadim
После деплоя выплевывается json файл, его можно хостить самостоятельно
там же ничего начать нельзя пока от них токен не получишь, с помощью него пулуми рапортует на свой сервер что я там делал
Petr
там же ничего начать нельзя пока от них токен не получишь, с помощью него пулуми рапортует на свой сервер что я там делал
У них предусмотрена возможность работы оффлайн (pulumi login --local), после этого cli не будет обращаться к их облаку
Andor
то есть это надо отдельно просить?
E
локальный стейт просить не надо, а вот шарить придётся самому как-то
E
просить придётся приватный веб бэкенд под стейты
Rainbow
Это наверное не работает с etcd 😬
Rainbow
Пулуми хранит состояние кластера на момент каждого деплоя, таким образом знает что надо обновлять, а что нет
Nick
ребят, а кто писал своего оператора, что посоветуете взять, operator sdk или kubebuilder? Или может вообще голый controller-runtime использовать?
Nick
сначала посмотреть на metacotroller и подобные, может ничего сложно не нужно.
Пока что планируется оператор для конфигурации приложения состоящего из 20-ти микросервисом(соответственно планируется один или несколько crd, с описанием настроек микросервисов) и + переконфигурация сопутствующих бд(перифигачивание колонок + заполнение контентом из файла)
Rainbow
первую часть metacontroller покроет. Второе - дело init контейнеров, если так, то тоже.
Rainbow
если в двух словах - описываете crd + webhook. webhook на любом языке берёт crd и выдаёт json со стандартными k8s примитивами.
Nick
если в двух словах - описываете crd + webhook. webhook на любом языке берёт crd и выдаёт json со стандартными k8s примитивами.
А какие есть ограничения у этого подхода? Вроде бы все операторы +- работают именно так, разве нет?
Rainbow
А какие есть ограничения у этого подхода? Вроде бы все операторы +- работают именно так, разве нет?
Там две стратегии работы. Если они вам подходят - повезло. metacontroller самое простое, что видел.
Rainbow
Работают так, только там даже для helloworld нужно прилично перелопатить кода. Хотя могу ошибаться. Меня обычно останавливает огромная репа helloworld (не 20 строчек которая)
Rainbow
* там - в других sdk
Nick
Спасибо, обязательно рассмотрим metacontroller как вариант
Nick
Но если все же рассматривать вариант с operator sdk или kubebuilder, может у кого был опыт с ними?
Vadim
А какие есть ограничения у этого подхода? Вроде бы все операторы +- работают именно так, разве нет?
операторы совсем не так работают тащемта, им не надо писать свой контроллер
Nick
операторы совсем не так работают тащемта, им не надо писать свой контроллер
почему? во всех операторах присутствует свой контроллер, чтобы логику апдейта делать, разве нет?
Vadim
почему? во всех операторах присутствует свой контроллер, чтобы логику апдейта делать, разве нет?
нет, оператор может юзать стандартную апишку вместо напиливания своей как в metacontroller
Nick
понятно, ну у метаконтроллера тоже не совсем стандартная апишка, да и вебхук можно считать контроллером(он все таки делает какую-то логику)
Tadeusz
Ansible and HashiCorp: Better Together Terraform + Ansible = ❤️ https://www.hashicorp.com/resources/ansible-terraform-better-together
George
George
лучше бы  terraform + salt, но это вкусовщина
Tadeusz
Изврат это))
Tadeusz
Вернее неосиляторство.
⁣
Почему не netbox? Он автоматом генерирует вам терраформ (main.tf)