Serega
да, это оно! спасибо за инфу.
Maksim
Кто нить в курсе проверку поды по урлу, хеартбит можно сделать с грасе период 0 при убивании контейнера?
Anton
да, это оно! спасибо за инфу.
оно недавно только объявилось
Артем
Добрый день, подскажите как настроить ингресс, что бы приложение работало на порту 8080 spec: rules: - host: test.dev.tk.ru http: paths: - backend: serviceName: app-nginx servicePort: 8080 Вот при таких настройках приложение пытается открыться на 80 порту
Салтыдык
Это нужно в сервисах настроить?
и в сервисах и в контроллере
Салтыдык
проще запустить ещё один ingress и выложить через него этот манифест, но уже на 8080
Артем
и в сервисах и в контроллере
Просто это приложение настрено на rancher, а 80 порт у rancher занят и поэтуму при переходе по домену открывается стартовая страница rancher
Салтыдык
а, не, тогда это вопрос про ранчер, а не про кубер) я хз
Andor
@SinTeZoiD
Михаил
а, че?
Andor
показалось
Andor
привет, говорю
Михаил
херню какую-то запостили?)
Отделение Bereke Bank
Я думал жгли книги с Kubernetes-ом 😒
Andrey
кто знает, как сделать так, чтобы деплоймент создавал поды по очереди, то есть следующий только если предыдущий в статусе Ready?
Andrey
думал об этом, вариант
Andrey
но если есть возможность сделать через deployment - предпочтительнее
Салтыдык
может есть какие стратегии, я не помню
Andor
strategy подкрути
Nosferatu
Если выбрать стратегию Recreate (.spec.strategy.type==Recreate), то перед стартом новых подов будут удалены все старые. При стратегии обновления RollingUpdate поды будут обновляться плавно, по очереди (дополнительно контролировать этот процесс можно с помощью параметров maxUnavailable и maxSurge).
Andrey
strategy у меня recreate, чтобы старые поды прибивались перед выкатом новой версии
Andrey
но мне надо чтобы новые поды по одному стартовали, а не по несколько
Andrey
даже наверное хватит, чтоб первый под создался и прошёл через initContainers, а потом остальные как угодно
Maksim
как сделать чтобы Liveness удалял Pod с force?
Maksim
Можно так?
Andrey
что значит с force?
Vadim
"пишем операторы на liveness check и шелле"
Maksim
—force —grace-period=0
Maksim
чтобы не висело в terminating до скончания дней
Maksim
"пишем операторы на liveness check и шелле"
а как там вообще команда на удаление описывается?
Vadim
а как там вообще команда на удаление описывается?
вызывается апишка на любимом языке. Но если так хочется чтобы под застрелился, то terminationGracePeriodSeconds: 0
Andrey
да у меня много хотелок в это упирается :)
Andrey
но обычно нахожу компромисное более простое решение
Andrey
думаю, замена Deployment на Statefulset уместна
Andrey
я бы все-таки советовал посмотреть в сторону operator-sdk - здорово упрощает бутстрап проекта, а реализация контроллера вряд ли будет сложной
Andrey
короче, statefulset не пойдёт. мне надо чтоб при обновлении шаблона все старые поды терминировались сразу, а он их по одному обновляет
Andrey
Мы тут, кстати, запилили оператор для rabbitmq и уже толкнули его в прод. Как приведем на этой неделе код в порядок и пофиксим всплывшие баги + сборка публичного образа, то могу тут анонс сделать, если кому интересно. Кстати, использует operator-sdk, мб полезно будет код тащить себе.
G72K
@vrutkovs , multus помогает наживую менять CNI? Или просто делает процесс чуть легче? Я так понимаю общий podCIDR на две CNI сети врят ли получится, значит надо строить параллельную CNI сеть со своимии адресами и потом в какой то момент менять DNS и podCIDR в контроллерах для настоящего переезда
Andrey
попробуйте опубликовать на operatorhub.io?
Опа, клевый ресурс. Раз такое дело, то попробуем.
Andrey
Можно ещё через PodDisruptionBudget любую политику задать
не. Мне надо все поды убить, потом поднять один, потом все остальные. PDB здесь не поможет
Andrey
И как послевкусие? Оно помогает решить штуки вроде "пока реагировали на событие 1 прилетело ещё 5 событий, как закончим с 1 надо бы все 5 просмотреть и сплющить их в одно".
Для меня это просто удобный бутстрап + кучка мелких плюшек. По факту, при разработке все равно используешь kubernetes-sigs/controller-runtime + client-go, когда припирает. Насколько я понимаю, такую проблему оно из коробки не решает, но она пока и не всплывала. Если что, то придется реализовать свою логику.
Andrey
@inish777 Подскажи, а operator-sdk умеет API extension? Или только за объектами следить и манипулировать?
Andrey
@inish777 Подскажи, а operator-sdk умеет API extension? Или только за объектами следить и манипулировать?
Ты про custom API server? Само по себе вроде не умеет, но можно и ручками прикрутить к конкретному оператору.
Maxim
@vrutkovs , multus помогает наживую менять CNI? Или просто делает процесс чуть легче? Я так понимаю общий podCIDR на две CNI сети врят ли получится, значит надо строить параллельную CNI сеть со своимии адресами и потом в какой то момент менять DNS и podCIDR в контроллерах для настоящего переезда
multus же немного для другого предназначен. сомневаючь что он сможет каким-то образом упростить смену CNI сети. то что будет указано в качестве master plugin в конфигурации мултуса - то и будет использоваться для коммуникации между подами, как и в случае без мултуса
Andrey
Кстати, умеет в генерацию OpenAPI схем
Это хорошо тоже. Спасибо!
Александр
Есть 2 ноды на 2 физических серверах и по реплике wordpress на каждой, плюс на 1 ноде mysql. Замеряю Requests per second: ab -n 300 -c 300 http://192.168.88.211:30111/ И он на таком же уровне и даже бывает ниже чем с 1 нодой. Почему не растет производительность? Все уже упирается в производительность базы? И нормальный ли это метод определения производительности?
Александр
Даже так. Если ab одной ноды, то поулчаю в среднем 140 rps, второй - 180. Хотя вроде должен балансер случайно раскидывать запросы по 2 нодам.
Johan
привет, подскажите плиз, как правильно сделать, чтобы докер имаджи тянулись из aws ecr? я нашел доку, конечно, там написано ``` Kubernetes has native support for the AWS EC2 Container Registry, when nodes are AWS EC2 instances. ... The kubelet will fetch and periodically refresh ECR credentials. ```` создал юзера с нужными правами, есть IAM ключ, но куда его засунуть в конфиге пода?
Eduard
Ещё есть https://github.com/heptiolabs/ktx
https://github.com/lestrrat/kubesh
Alexey
Коллеги, может кто-то поделиться ссылкой на описание настройки централизованного сбора логов с подов k8s? Насколько я понимаю, самый распространенный вариант - EFK. Инструкций в сети море, но хотелось бы услышать рекомендации от живых людей)
Incognito
Splunk 🙂
Сергей
всем привет. подскажите пожалуйста. мне нужно унести с ноды контейнеры (передеплоить их на другой). я вижу такой вариант: kubectl cordon NODENAME kubectl delete pod PODNAME
Etki
Splunk 🙂
Хороший вброс
Сергей
по идее он из деплоймента начнет восстанавливать поды, но не сможет деплойнуться на именно эту NODENAME. меня интересует, он текущие же поды не тронет?
Incognito
Хороший вброс
я, кстати, завел
Andor
splunk же дорогой
Andor
хотя тут ещё вопрос кто дороже, сплюнк или эластик
Etki
Спланк же теперь недоступен для 90% чата
Incognito
как я уже гвоорил раньше, у нас куплен корпоротивный splunk cloud
Etki
как я уже гвоорил раньше, у нас куплен корпоротивный splunk cloud
И если вы в россии, то ждите конца договора
Сергей
kubectl drain
drain же начнет убивать все поды на текущей ноде
Incognito
договор с головным офисом, который находится в Штатах
Сергей
а мне надо часть оставить, а часть унести