Семён
Сдавайте этот проект заказчику, если он такой умный, и ждите предяв от "почему все так медленно" до "где наши данные"
Игорь
Не вздумайте базу в кластер запихивать
В кластер-то почему нет? Local Persistent Volumes + репликация СУБД (если нужна) - вполне вариант
Алексей
Потом будет стандартное "не вы же сами придумали так". и ответ "почему вы не отговорили? вы же эксперты"
Solyar
Вот и всё
Solyar
Реплика будет привязана к ноде, умрёт нода, данные потерялись
Solyar
А вне кластера ноды не умирают?
Можно по минималке собрать : 2 vps в нем qemu, kvm по 2 виртуалки на каждой и там разворачивать базу
Solyar
виртуалка умрёт - плохо гипервизор - пиздец
Solyar
Но всё же лучше чем в кубер запихивать
Solyar
и бекапить легче
Solyar
Сверху в балансер обернуть и вы восхитительны
Solyar
У нас это реализованое примерно так 2 ДЦ По 2 машины в разных ДЦ По 3 слейва (виртуалки) на машине Балансировщик в виде отдельной машины
Семён
с базой в кубере, с подцепленным pv (пофиг где он) тоже приколы. если RWM нет - сложно перезапустить базу на другой ноде без даунтайма. Если RWM есть - можно данные покарраптить
Solyar
А вообще Кубер on-premise не нужен!
Anonymous
А вообще Кубер on-premise не нужен!
как показывает это пример, кому-то это нужно
dzmitry
Привет, ребята помогите разобрать, чет запутался. Есть локальный кластер мастер и два воркера. Я использую metalLB как loadbalancer. Приложение на .net core. Все работает хорошо metal отдает ip сайт доступен. Но мне надо прикрутить еще ssl, добавил nginx ingress с правилами для ssl а вот дальше начинаю путаться. Ingress сделал как loadbalancer, ему metal дал ip, как теперь достучаться до сайта с помощью ip nginx ingress или ip metal который получил вначале? или я все напутал)?
Solyar
по BGP анонсировали ?
Solyar
Или у вас статика?
dzmitry
layer2
Solyar
layer2
А, не увидел что локальный кластер
Solyar
идете по IP ингресс, который metallb выдал
dzmitry
идете по IP ингресс, который metallb выдал
а само приложение стоит ли тогда делать loadbalancer чтобы оно также получало ip ip от metal или хватит ingress?
dzmitry
понял, спасибо
Pavel
Коллеги, приветствую! Внутри deployment контейнеры перестали видеть друг друга (не могут подключиться по порту) Проверял через port-forward - порт доступен
Pavel
В какую сторону копать?
Семён
networkpolicy какие-то добавляли ?
Pavel
нет
Vladislav
Ребят, если есть внешний балансировщик, внутри кластера для доступа к сервисам необходимо создать только ingress?
Solyar
А кто может подсказать как в prometheus установленный через helm запушить свои рулы и алерты?
Solyar
А то раньше запихивал руками, а сейчас (через helm) видимо как-то по другому надо
Alexander
Почитай свой чарт )
Alexander
Helm понятие растяжимое. Принципиально через оператор или нет.
Yuri
В какую сторону копать?
зайти в контейнер, потестить телнетом или курлом что порт открыт или закрыт, резолвится ли парвильно твой сервис или другой конейнер.
Yuri
А кто может подсказать как в prometheus установленный через helm запушить свои рулы и алерты?
из-за этой петрушки слез с Helm, слишком геморойно копировать и патчить это барахло, прощё своё написать.
Vladislav
Service достаточно, ингресс нужен для доступа из мира
Мне и нужен доступ из мира) Может я конечно не до конца что то понимаю, только изучаю. У меня есть балансировщик нагрузки от Digital Ocean к которому привязано доменное имя, есть кластер с 2 нодами и 1 мастер нодой. Т.е тогда получается, что бы достучаться из внешнего мира должна быть следующая схема Load Balancer (external) -> [ Load Balancer (internal) -> Ingress -> Services -> ...] ?
Alexander
Ребят, если есть внешний балансировщик, внутри кластера для доступа к сервисам необходимо создать только ingress?
Зависит от топологии. В облаках при создании ingress контроллер создается балансировщик который в него нацелен.
Alexander
Не создавай внешний сам. Постать ingress controller, он сам создаст балансировщик для себя.
Vladislav
Спасибо большое всем за ответы! Есть еще один вопрос, нормальная ли практика разворачивать несколько проектов на одном кластере? Допустим у нас есть 2 команды, каждая работает над своим проектом, разумно будет их поместить на один кластер с различными namespace?
Beybit
Здравствуйте кто может подсказать? Контейнер запускается и выдает такое
Solyar
Нужно алерты просто перкинуть в Helm а это де факто гемор такой что ппц
Vladislav
Спасибо! А если необходимо для двух этих команд предоставить разные домены для доступа к их сервисам. Необходимо в каждом namespace создать свой ingress?
Solyar
(ну или я просто неопытен)
Yuri
Спасибо! А если необходимо для двух этих команд предоставить разные домены для доступа к их сервисам. Необходимо в каждом namespace создать свой ingress?
домены должны смотреть в балансер, и два разных ингресса для каждого домена, каждый с своём неймспейсе
Solyar
Подскажите я правильно понимаю что мне нужно сделать? В документации написано serverFiles.rules Prometheus server rules configuration {} Значит мне надо сделать rules.yaml который будет выглядеть как : serverFiles: rules: |- - все правила И сделать helm upgrade prometheus -f rules.yaml ?
Отделение Bereke Bank
Подскажите, возможно ли использовать в command/args переменные? Все что нагуглил это всякие echo. Пробовал на их примере - gunicorn не вставляет вместо $(VAR_NAME) нужную переменную
Alexander
А кто такое наблюдает иногда? Failed to pull image "quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.25.0": rpc error: code = Unknown desc = context canceled
Anton
типа command: ["/bin/bash"] args: - -cex - exec gunicorn ${VAR_NAME}
Solyar
Да, только не забудь reuse values, а то потеряешь настройки с которыми ставил
Странно что правило я создал, алерт тоже, перезапустил alertmanager и ничего не произошло :\
Alexander
У меня с оператором. Но они в принципе похожи. 100 пудов правила идут в ConfigMap и оттуда монтируются. Возможно в чарте бага. Найди этот CM и пересоздай с новым файлом
Solyar
CM заменился
Alexander
Ну и там релоадер должен пинать когда CM меняется. А ты даже перезапустил.
Alexander
Я меня еще с месяц назад alertmanager вообще не стартовал и пришлось версию откатить(всего Prom Op chart)
Отделение Bereke Bank
типа command: ["/bin/bash"] args: - -cex - exec gunicorn ${VAR_NAME}
спасибо. А насколько это вообще правильно? Просто в таком случае pid 1 в контейнере получает же не gunicorn, а bash?
𝚔𝚟𝚊𝚙𝚜
Кажется LINBIT готовит что-то интересное :) https://github.com/piraeusdatastore
Anton
спасибо. А насколько это вообще правильно? Просто в таком случае pid 1 в контейнере получает же не gunicorn, а bash?
c exec все будет норм. но выглядит это не красиво. лучше entrypoint напилить со своей логикой. или отшаблонизировать сразу переменные в command & args и обойтись без bash
Alexander
Может я что-то неправильно делаю?
Возможно. Как я понимаю правила алертов они в Проме. Alertmanager только настройки каналов нотификации содержит. Поэтому может Пром рестартовать? И и убедись что алерты попали в нужные файлы
Konstantin
Всем привет! Пытаемся разобраться что же лучше: Helm, Helmfile, Kustomize, Qbec, etc. Сейчас в основном используем Helm + Helmfile. Но есть сомнения, которые и заставляют смотреть в сторону других решений. Основные сомнения: связка Helm + Helmfile только добавляет багов в процесс, также иногда приходится выполнять одну и ту же команду delete, чтоб всё-таки helm удалил все ресурсы, которые создал. Интересен Qbec. Выглядит свежо и более функционально по сравнению с Kustomize. Но есть маленькое НО. Как, например, завести такого монстра как стэк ELK или Prometheus, Grafana, Alertmanager, exporters, и т.д. без Helm? Кто-то пробовал подобное?
Alexander
Так может Helm 3 подождать?
Konstantin
Жду, конечно, с нетерпением.
Anonymous
Коллеги, а кто использовал Lets Encrypt/cert-manager (helm) ? Мне нужно сгенерить SSL сертификат и опубликовать. Ingress уже работает на 80 порт. Используем Rancher, но думаю что логика работы одинакова как и в чистом K8S. Есть ли есть линки чтобы понять как это работает всё, буду благодарен.