Andrey
Я же по более общий случай, когда контейнерам надо часть CPU меньше 1
Dmytro
поэтому наборот - ставьте cpu requests=limits(type int)
Dmytro
кому интересные приложения которым надо меньше 1 цпу?
Andrey
И у вас на восьми ядерной ноде не поднимется больше восьми контейнеров
Dmytro
ну и как-то тут не вижу про < 1
Dmytro
Грубо говоря если есть два контейнера с запросом в 1 CPU, а на ноде доступно 4, то каждый получит по 2. С лимитом 2 ядра бы тупо простаивали
Anton
можно к вам ворваться в обсуждение лимитов? Мы начали их вешать только когда поды начали кушать весь цпу и нода просто выпадала. Без явного ограничения так жить было больно. Каким еще путем можно пойти если не жестким лимитом? С осознанием троттлинга конечно же.
Andrey
Andrey
Запрос по дефолту кстати
Dmytro
зачем? если у меня контейнеру я ставлю 0.1 меня не парит его производительность и что у него бывают stop the world от CFS
Dmytro
а если это что-то важно для прода то у него будет 1+ ядро и 2+ реплики
Andrey
То есть фактически лимит у вас не используется, поскольку в случае guaranteed pod используется механизм привязки к ядрам. Чтд
Andrey
Я как раз про это и говорил
Dmytro
почему? У меня всегда requests=limits, для не очень важных сервисов он может быть < 1 но для того что критичное стараюсь округлять
Dmytro
по памяти аналогично requests=limits
Andor
Andrey
Вот я как раз про то, где не целое число, там смысла в лимите нет
Dmytro
кроме CFS quotas для CPU < 1 негативного влияния это не дает, только позитивное
Dmytro
как нет?
Andrey
Негативное влияние в under utilization
Dmytro
кому under utilization а кому spare capacity for node failure
Andrey
Позитивного не вижу вовсе
G72K
уже в курсе
Только если guaranteed, на burstable все так же не работает
Dmytro
мне не нужно high dencity packing
Andrey
Ну мы тогда поняли друг друга
Dmytro
все равно при роллинг апдейте мне нужно много свободных цпу и памяти на нодах для создания новых версий подов
Andrey
У меня об этом думает cluster scaler
Dmytro
поэтому under utilization не избежать
Dmytro
ну вернее я не считают это under utilization
Andrey
Ясно :)
Dmytro
ну а как иначе?
Dmytro
если нода умрет то я получу даунтайм не пару секунд а минуты
Dmytro
пока там отдуплится кластер автоскейлер
Dmytro
сначала будет 5 минут или сколько там таймаута на смерть ноды, а если нода умрет криво так ещё лучше
Andrey
Дополнительный поинт в том что CPU shares работают как лимиты, просто они более резиновые
Dmytro
этот даунтайм будет стоит компании больше чем выигрыш от -1 ноды
Dmytro
причем в зависимости от приложения и времени дня может быть сильно больше
Andor
ты так говоришь как будто кластер автоскейлер не может делать +1 или +2 ноды на кластер
Dmytro
может но это же будет
Dmytro
Негативное влияние в under utilization
Andrey
Andrey
При добавлении нового пола просто пересчмтаются CPU b shares
Dmytro
ладно, let's agree to disagree. Я за стабильность и предсказуемость
Andrey
:) благодарю за дискуссию
Dmytro
с requests=limits я точно знаю что у меня поды влезут на ноды и им всего хватит
Dmytro
и я не буду отгребать с моими пхп приложениями которые текут, спавнят кучи процессов кроном и т.д.
Dmytro
может в каком-то идеальном мире можно и без limits и все будет хорошо
Andrey
Пэхапэ боль :)
Dmytro
Andor
как будто только пхп приложения текут, спавнят кучи процессов и т.п.
Anonymous
кто-нибудь уже пробовал knative? (было бы интересно узнать что там с ресурсами при настоящих нагрузках)
Й
Andor
в других языках тоже недостаточно думают, пока по жопе не прилетает
Dmytro
конечно, на прошлой работе например machine learning тулзень на питоне одно время текла по памяти пока я не запинал ребят её пофиксить
Dmytro
но в пхп это конечно чаще всего намного хуже, например из прекрасного это всякие debug bar симфони пакеты которые пишут все запросы в базу в stdout
Dmytro
и конечно это пропишут не в ту секцию composer.json b потом тащат не думая в прод
Dmytro
или например сделать кронтаб где 600 процессов запускается в одну секунду (т.е. каждую минуту) а потом спрашивать почему это линукс не может 600 процессов выдержать
Dmytro
так что да, кто видел пхп проекты тому надо молоко выдавать по талонам
yolkov
Vadim
G72K
Александр
Какие-то страшные цифры у вас. Недавно озадачивался какие реквесты выставить - у меня в прометее собирается потребление - память за месяц около 100 мб (максимум 200) и по цпу загрузка около 5% (максимум 15 %). Есть и на ларавеле проекты, и самопис, и в кроне по 20 задач (вот в кронах как раз с цпу и памятью не очень)
Andrey
Andor
С этого тред и начинался
pavel
Всем привет, хочу попробовать куб, теорию почитал. У меня есть разных 10 серверов , на них разные ресурсы ( гитлаб, тимсити, ютрек и проекты и тд) , всё в докерах, можете написать почему я должен попробовать куб на практике(не обратное) в чем будет профит, и если можно без тролинга?
Й
Если у вас все хорошо - фтопку этот куб
А для образования - миникуб есть
pavel
pavel
А о , миникуб? А можно пруф?
Anton
pavel
pavel
Меня больше интересует возможность автоскейлинга и балансировки нагрузке в кубе
Andrey
Всем привет, хочу попробовать куб, теорию почитал. У меня есть разных 10 серверов , на них разные ресурсы ( гитлаб, тимсити, ютрек и проекты и тд) , всё в докерах, можете написать почему я должен попробовать куб на практике(не обратное) в чем будет профит, и если можно без тролинга?
куб позволяет декларативно описать конфигурацию самих докер контейнеров и обвязки (ингресы, балансировщики, секреты, скейлеры и тд), централизованно. По сравнению с докер-композ это как chef и ручное управление
pavel
pavel
А есть ещё ресурсы которыми вы пользуетесь помимо офф доки? Если поделитесь буду благодарен.
Andrey
трудно сказать. Когда немного впитаешь философии k8s, дальше уже достаточно документацию читать. Можно ещё попробовать в с GKE поиграться, в гугловой документации много примеров как hello world запускать
Andrey
можно почитать обзорные статьи на хабре медиуме для начала