G72K
Да и если честно: это все люто интересно, хотя и очень геморно, так что иррациональная часть мотивации тоже присутствует
Вам в копилку, может время сэкономите: https://metacontroller.app/ https://argoproj.github.io/ https://github.com/azure/brigade/
Dmitry
Короче все в духе кубера))) Ситуация така: pet project -> mvp -> prod, че делать? пока есть kubespray. traefik видимо через манифест запилю
Vadim
Brigade поможет увидеть что надо допилить в операторе, но вроде бригад сам особо не много умеет
G72K
Премного благодарен. А сами argo использовали?
Нет, я порекламирую, потом отзывы послушаю и решу тратить ли время :)
Andrey
Короче все в духе кубера))) Ситуация така: pet project -> mvp -> prod, че делать? пока есть kubespray. traefik видимо через манифест запилю
Я лично первый кластер развернул с нуля, второй кубспреем, третий форкнутым кубспреем со сборкой образов через packer.io Пока собираю образы только для нод, сейчас работаю над тем же самым для мастеров - ищу способ бесшовно вынести etcd на отдельные ноды и планирую юзать vault для выпуска сертификатов и хранения приватных ключей
Andrey
Второй, кстати, помер из-за бажной роли для etcd
Andrey
Восстановил из снапшота, но неприятно
G72K
Brigade поможет увидеть что надо допилить в операторе, но вроде бригад сам особо не много умеет
https://azure.github.io/brigade/topics/img/design-overview.png У бригады крутизна, что там весь пайплайн это Яваскрипт (тайпскрипт) файл, никакой возни в ямлами. Если куб клиент заимпортить, можно делов творить. Я бригаду буду первой пробоватт
Andrey
Вот тут поподробнее. Как деплоил ingress?
Nginx ingress через хелм. Я на AWS, если что
Dmitry
Nginx ingress через хелм. Я на AWS, если что
то есть ansible-playbook kube.yml && helm install stable/nginx-ingress?
Andrey
Traefik даже близко пока не трогал, увы
Dmitry
Traefik даже близко пока не трогал, увы
я пользовался на docker-swarm, отличная штука. правда TCP не хватает
Andrey
то есть ansible-playbook kube.yml && helm install stable/nginx-ingress?
можно ещё терраформ заиспользовать, для полного зоопарка :) У меня так: terraform делоит GKE, потом инфраструктурные вещи типа ингрес контроллера через helm provider - он сам умеет tiller доставлять
Andrey
Я, кстати, терраформ тоже юзаю
Andrey
Ноды из собранных образов через него обновляю
Dmitry
Ноды из собранных образов через него обновляю
то есть нода уже запакована в ami? понятно
Andrey
А, ну и конечно, у меня на отдельном аккаунте маленькая тестовая лаба, где все апгрейды и прочая сначала и применяются
G72K
Единственное, что меня в бригаде пугает, так это то что оно от авторов хелма
Andor
Nginx ingress через хелм. Я на AWS, если что
а нахрен на авс юзать не копс?
G72K
operator-sdk кучу языков поддерживает, но суть примерно та же
Вот дока с возможностями, непонятно почему зырыли глубоко https://azure.github.io/brigade/topics/scripting.html от чистых операторов отличается, что там уже какие то решения по данному дизайну приняты заранее , есть высокоуровневые примитивы ну и заточено не на level triggered, а на edge triggered обработку событий
Vadim
я давно смотрел, может уже теперь крутое
Dmitry
а несколько ингресов это плохая идея?
Dmitry
Очень хорошая
думаю traefik для https(s) и nginx для tcp
Dmitry
или лучше уж тоже haproxy?
G72K
Лучше то, с чем комфортнее. Особенно если разработчикам ингресс специфичные аннотации запретить использовать :)
Dmitry
Я это делаю для себя, weekend project типа)
G72K
Хоббикуб
Dmitry
вот есть https://github.com/helm/charts/tree/master/stable/traefik, я хочу его поставить с оверрайдами, есть репозиторий "devops", думаю что helm install вообще сделать как shell к ansible. сделать корневой чарт? Или как лучше организовать?
G72K
Как угодно. Хороший итог любого хобби проекта это набитые шишки, мозолистые руки и мудрые глаза
Dmitry
ну когда деплоим чарт из каробки (без форка), то обычно оверрайды передаются через --values?
Dmitry
меня подбешивает наличие тыщи вариантов, и ни одного более менее стандартного 😄
Andrey
а нахрен на авс юзать не копс?
1. Я юзаю более свежие версии кубера, чем копс официально поддерживает 2. Я недостаточно хорошо понимаю его устройство, чтобы быть уверенным в том, что смогу быстро починить продакшен
G72K
а нахрен на авс юзать не копс?
А родной амазоновский куб сильно плох?
Oleksii
А родной амазоновский куб сильно плох?
Мне кажется он менее функционален чем установка с помощью копса
G72K
Чем именно? Куб есть куб
Oleksii
Конфиг мастеров?
Andor
А родной амазоновский куб сильно плох?
там куча ограничений, которые мало под собой основы имеют
G72K
Какие? Слышал только про 50 подов на ноду
Oleksii
Какие? Слышал только про 50 подов на ноду
Это связано с количеством интерфейсов емнип
Andor
даже это уже достаточно чтобы его не юзать :)
Andor
каких интерфейсов? виртуальных в бридже?
G72K
ENI
Oleksii
каких интерфейсов? виртуальных в бридже?
Там сеть работает немного по другому. При использовании aws-vpc-cni выделяются ИП из пула vpc
Oleksii
Как то так
Andor
ваще странно, что копс умеет только 1.10 кубеня
Oleksii
Медленно пилят
Oleksii
G72K
У кого-нибудь в облаках действительно больше 50 подов на ноду?
Andrey
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI
Oleksii
У кого-нибудь в облаках действительно больше 50 подов на ноду?
Слишком плотно как то. У меня не больше 15 наверное на ноде
G72K
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI
For example, a m4.4xlarge node can have up to 8 ENIs, and each ENI can have up to 30 IP addresses. Итого ~240 подов при дефолте в кублете 110 :) так что нет там ограничений на практике
G72K
По мне так надо брать кубы от вендоров и потом на них все валить.
Andrey
Кстати, 1 eni = минус одна ебска на ноду
G72K
Если в амазоне, то значит EKS
Andrey
На c5, m5, etc лимит вроде 27 ebs на ноду
G72K
Кстати, 1 eni = минус одна ебска на ноду
Это как? Каждая EBS через свою eni ходит?
Andrey
Видимо, да
Andrey
C5, C5d, M5, M5a, M5d, R5, R5a, R5d, T3, and z1d instances support a maximum of 28 attachments, including network interfaces, EBS volumes, and NVMe instance store volumes. Every instance has at least one network interface attachment. 
Andrey
А разве должно?
Andrey
А, m4 же
Andrey
Я так понимаю, тогда только 20 ebs сможешь приаттачить
Но, на перечисленных типах механика по идее должна быть такая
𝚔𝚟𝚊𝚙𝚜
собственно как ты правильно заметил, это не баг а фича на малом количестве нод
лазейка прикрыта https://github.com/cloudnativelabs/kube-router/pull/580/files#diff-0c507e955a86c19d491419c6af30cff9R309
A
разобрался уже?
Ну да, все передеплоил под другому) а есть бага или я чего-то не допилил, не работает автоматическое добавление даиасоурсов
Antlar
Ну да, все передеплоил под другому) а есть бага или я чего-то не допилил, не работает автоматическое добавление даиасоурсов
вот я про это. там в 3 места надо это гавно по шаблонам написать, кейс сенсетив если чо
Antlar
datasources: {} dashboardProviders: {} dashboards: {}
A
datasources: {} dashboardProviders: {} dashboards: {}
Но я хотел что бы из cm подтягивались, но они физически протягиваются, а в gui нет, может это уже сама графана где не довинчена