Maksim
я ничего не покупал)
Oleksandr
а можно было поместиться в меньший ресурс
Maksim
у меня просто ЦОД)
Oleksandr
Maksim
это выходит за рамки дискуссии
Oleksandr
это и есть дискуссия - сколько стоит простой сервиса и сколько стоит простой ресурсов
G72K
который не равен реальному, при нагруженной ноде
еще как равен, если игнорировать неидеальность планировщика, но там считаные проценты в экстремальных случая
Maksim
В том то и кейс, что кубер приводит параметр request = vCPU
Oleksandr
лимиты нужны чтобы понимать сколько стоит инфраструктура, реально и правильно ли расчитали ресурсы под сервисы, работают ли сервисы как должны работать
Oleksandr
бесплатных ресурсов не бывает
Maksim
далее параметры Request и limit позволяют контроивать стоимость пода на вычисление
Maksim
я работаю в конторе, которая закупает сервера на миллионы..и не рублей
G72K
возьмем простой случай: нода 2 CPU, в ней есть один под {request: 1 , limit 1} и десять подов {request 0.1} (в сумме 1, итого распределено 2). все поды майнят биткоины. под с {request 1, limit 1} получает свой один процессор всегда. если он на пустой ноде или на полной. если бы было только {request: 1}, т.о. производительность начинает плавать, в зависиости отт того, кого подселили
Maksim
мм не совсем так
Maksim
Вес запроса на процессорное в пода с request 1 будет выше
Maksim
а значит он будет его больше получать
G72K
нет
G72K
он будет получать больше чем другие, да, но он будет получать свой 1 cpu
Maksim
ок
Maksim
вопрос а если на ноде 3 spu
Maksim
суммарный request 2
G72K
вес: 1/(1+10*0.1) == 1/2
Maksim
а кушается все 5
G72K
кашется все 5 да
Maksim
что тогда?
G72K
но не подом c limit: 1
Maksim
дык у тебя странное понятие о кластерной работе в режиме конкуренции
Maksim
и о преотеризации получения ресурсов
Maksim
вот есть процесс режим которого ASAP
Maksim
(As soon AS passeble)
Maksim
И ему нужно отдавать как можно больше ресурсов, но не мение 1 CPU
G72K
дык у тебя странное понятие о кластерной работе в режиме конкуренции
в чем несогласны? в том , что оно получит 1 cpu и не больше?
Maksim
смысл его ограничивать потолком в этот 1?
Maksim
Опыт vSphere и OS говорит, что это порочно)
G72K
И ему нужно отдавать как можно больше ресурсов, но не мение 1 CPU
про это речь не шла. я говорил про то , что limit нужен для того, чтобы получить предсказуемыую производительность
G72K
вы изменили задачу, у вас по определению под должен получать изменяемое количество ресурсов (== как можно больше из того, что осталось)
Maksim
это норма при нагрузке
G72K
для вашей задачи ставьте {request: 1} , без лимитов. но тогда один и тот же код на разных нодах будет давать разную производительность. бывают задачи, где это нормально, баывает где нет. куб позволяет пускать и те и те
Maksim
есть отдельные долгие процессы
Anonymous
какие интересные варианты есть об оповещении неработающих сервисов в кубере? я щас имею ввиду не prometheus/grafana которые тоже перестанут работать если вдруг кластер упадет, а что-то внешнее или внешнее с агентом внутри что стоит либо ничего, либо чуть-чуть после триала :)
Oleksandr
не ставить мониторинг в тот же кластер? а так datadog тот же
Mikhail [azalio]
Или именно сервисы создаваемые кубером?
Andrey
Всем привет — Какой у вас проект или где работаете? Распределенная система онлайн продаж — В чём вы специалист? Postgres,Perl, JS, Android,Проектирование — Чем можете быть интересны или полезны сообществу? Вопрос из разряда "А кем вы себя видете через XX лет" — Чем интересно сообщество вам? Изучаю возможность использования k8s к нашему проекту — Откуда вы? Москва — Как узнали про группу? В гугле не забанили
Volodymyr
Привет! А как чистить "шлейф" от cronjobs? (куча записей в jobs и pods)
Andrew
"helm.sh/hook-delete-policy": hook-succeeded ?
Lev
Посмотри спеку, там можно лимиты поставить)
Volodymyr
Таки есть spec.successfulJobsHistoryLimit spec.failedJobsHistoryLimit
Volodymyr
Спасибо!
Volodymyr
оно правдо только на 1.8 работает, вроде...
Ivan
На 1.6.1 работает. А "шлейф" остался от джоб которые выполнялись с ошибками?
Volodymyr
Нет - success
G72K
Ахтунг, quay.io/coreos/hyperkube:v1.7.8_coreos.0 не то, что вы думаете! Собрано из распоследнего мастера, т.е. это 1.9.0 alpha
G72K
$ git diff v1.7.7 v1.7.7+coreos.0 --shortstat 2 files changed, 3 insertions(+) $ git diff v1.7.8 v1.7.8+coreos.0 --shortstat warning: inexact rename detection was skipped due to too many files. warning: you may want to set your diff.renameLimit variable to at least 2832 and retry the command. 10874 files changed, 886997 insertions(+), 485052 deletions(-)
Logan
обалденный подарок
G72K
я сам охуел
Anton
промахнулись тэгом, а ci собрал имейдж? =)
Andrey
Народ расскажите кто как скейлит сервисы в Google cloud к которому подключен PVC ? Есть контейнер который обрабатывает(хранит) картинки к нему подключен PVC. replica увеличить не получается т.к. у volume параметр accessModes: - ReadWriteOnce. Не хочу изобратать велосипед. Хочется послушать бывалых... в Гугл деплоимся как пару недель)
Etki
вам нужен не PV, а Object Storage, хоть тот же GCS
Andrey
ок, спасибо за совет!
Alex Sharov
Господа, а можно ли как-то передать айпишник loadbalancer в параметры контейнера у deployment?
Volodymyr
запускаю в поде supervisord с десятком процессов (знаю, так делать нельзя) оно вроде раз отрабатывает и "залипает" процессы весят, но ничего не делают образ: alpine
Volodymyr
щас попробую запустить на ubuntu, но мне кажется это какие то лимиты ресурсов куба
Volodymyr
дело не в alpine
Anton
eviction manager может при DiskPressure condition на ноде выселяет все поды? чет я не пойму в этом логики. ощущение что он гонял поды с ноды на ноду, создавая проблемы
Anton
https://kubernetes.io/docs/tasks/administer-cluster/out-of-resource/ судя по всему при срабатывании eviction condition вполне мог пытаться пересадить поды на другую ноду. чет мне это не помогло совсем, а наоборот
Volodymyr
Я нашел... воркеры рвали связь с rabbitmq (отдельностоящим) из-за net.ipv4.tcp_tw_recycle=1 на нем... а так как поды за NAT'ом все херилось
Anonymous
кстати, оффтоп - во все деплойменты которые не юзают кластерное api и/или не имеют правильного настроеного rbac (а это 99%) добавляйте в спеку automountServiceAccountToken: false (в идеале конечно еще securityContext неплохо прописывать но это уже на любителя) юзкейс: если ваше крутое приложение поломает хацкер то ему будет сложнее добраться до api кубера 🙂
Anonymous
(я тут ревизию провел у знакомого куберовода и удивился как легко можно кластером зарулить лол)
Алексей
Может кто подсказать, как уменьшить таймаут перемонтирования RBD для пода в случае его перезапуска? Сейчас таймаут до 10-15 минут.
Logan
скандалы, интриги, расследования!
Anonymous
дак токен-то монтируется по дефолту
Logan
оппачки
Anonymous
сделай дейскрайб любого пода, там будет строчка: Mounts: /var/run/secrets/kubernetes.io/serviceaccount from default-token-73ss0 (ro)
Logan
а вот это прям караул
Logan
спасибо