172 похожих чатов

Доброго времени суток, подскажите пожалуйста, какой механизм отвечает за drain

& delete nodes in notready state(если такой есть), cas?(aws eks)

17 ответов

21 просмотр

есть несколько параллельных механизмов которые не связаны друг с другом, ну точнее связь довольно тонкая. есть контроллеры со стороны облака, к которым ты не имеешь никакого доступа, например котноллер который managed группами управляет а есть например cluster-autoscaler, к которому ты имеешь доступ оба эти механизма могут дрейнить ноды и удалять их

luhaia- Автор вопроса
Dmitry Sergeev 🇺🇦
есть несколько параллельных механизмов которые не ...

Спасибо, у меня ситуация следующая: cas+bottlerocket, настроен memory eviction через userdata, но под memory node pressure kubelet не евиктит никого, в след зачем нода понятное дело notready, но в таком статусе она может висеть минут 30, ясное дело что в это время все поды на ней «зависли», куда копать что бы ускорить процесс удаления именно notready нод? Или костылять условным кроном?

luhaia
Спасибо, у меня ситуация следующая: cas+bottlerock...

насколько я помню cluster autoscaler не будет удалять зависшую ноду скорее всего. Он удаляет при процессе даунскейла или когда апскейл произошел неудачно, ожидается таймаут и нода удаляется

luhaia
Спасибо, у меня ситуация следующая: cas+bottlerock...

в любой ситуации если кублет отьехал то каюк, на кублет резервацию настройте

luhaia- Автор вопроса
Igor Ignatev
в любой ситуации если кублет отьехал то каюк, на к...

Есть, но все равно вылазит. Кажется что кубелет просто не евиктит когда нужно, но логи кубелета не собираем, и посмотреть как результат тоже, спасибо

в теории 30 минут могут взяться отсюда: 1) первые минут 5-6 (такой дефолт) куб понимает что нода всё, и перевозит от туда поды 2) затем поды по сути будут в статусе terminating на этой ноде 3) cluster-autoscaler возможно осознает что поды помечены на удаление и теперь не учитывает их при подсчетах заполнености ноды, когда считает unneded ноды. Теперь включается таймер --scale-down-unneeded-time (равный 10 минутам по дефолту)) 4) таймер прошел, теперь эта нода считается unneded. Но так как она notready, включается таймер --scale-down-unready-time (20 минут по дефолту) 5) теперь все таймеры отработали и ноду можно уадяять что и происходит получается 5-6 + 10 + 20 = 35-36 минут, плюс погрешность, так и выходит примерно

luhaia- Автор вопроса
Dmitry Sergeev 🇺🇦
в теории 30 минут могут взяться отсюда: 1) первые...

Проблема в том, что он никто никуда из не везет, и такое чувство, что из хелси ендпоинтов эти роды не убирает (это теория требующая подтверждения) и как следствие если на этой ноле был core-dns, то всемреквесты к нему фейлятся)

luhaia
Проблема в том, что он никто никуда из не везет, и...

ну если нода notReady и если это не statefulset и если там поды какого-нибудь deployment'а то новые реплики будут созданы на других рабочих нодах. Я под перевозом это и имел в виду

luhaia- Автор вопроса

Так в том то и дело, что этого не происходит пока года в кластере, новые полы создаются исключительно после удаления нот реди ноды

luhaia
Так в том то и дело, что этого не происходит пока ...

ну это требует доказательств. Потому что поведение там другое задокументировано + я давно эксплуатирую k8s и да, он делает как я описал (я про первый этап) разумеется у вас могут происходить какие-то проблемы, из-за которых например pod не смог создастя на другой ноде, или другие вещи. Но тем не менее на общую логику это не влияет, то. есть можно говорить что он как минимум стремиться так сделать, но естественно что-то может пойти не так в вашем окружении Замечу что речь не идёт о подах statefulset'а и daemonset'а, их реплики нигде не будут запускаться

luhaia- Автор вопроса
Dmitry Sergeev 🇺🇦
ну это требует доказательств. Потому что поведение...

Да, я понимаю и сам этого ожидал, в целом есть несколько непонятных проблем которые требуется воспроизвести и покопать в спокойных условиях. Спасибо. Если есть под рукой линк на флоу контроллер менеджера по поводу нотреди нод, то поделись, пожалуйста.

luhaia
Да, я понимаю и сам этого ожидал, в целом есть нес...

под рукой нет. Но это легко протестить и посмотреть на практике достаточно остановить сервис kubelet, и наблюдать за службой и увидеть что от туда исчезнет endpoint, после того когда нода перешла в статус notReady

Dmitry Sergeev 🇺🇦
в теории 30 минут могут взяться отсюда: 1) первые...

А точно разные таймеры включаются друг за другом (unneeded и notready)? Я не знаю сам, не смотрел настолько подробно, но у меня время убийства ноды было порядка получаса. Меня устраивало более-менее. Осталось только стсы убрать.

Kirill Garbar
А точно разные таймеры включаются друг за другом (...

это просто предположения, детально не проверял

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
31
падает джоба хотя уже была собрана на соседнем namespace, куда капать? │ │ Copying blob sha256:2fa066caddb8f09a71082b03aa43046f79346a01d9c89e06a1f508bb1207dba5 427 │ │ Copyin...
Andrei St
6
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Всем привет! А в werf есть возможность скипать проверку сертификата кластера? Я пытаюсь сделать werf converge из GitHub actions, но кластер на локалке с docker-desktop выходит...
Roman Ermakov
2
Здравствуйте. Задача состоит в том, чтобы сделать real-time чат в мобильном приложении. После передачи сообщения пользователем через веб-сокеты, для основного и долговременног...
🐾
5
Где можно найти примеры эффективного "асинхронного" tcp сервера на C? Я видел select, kqueue, poll, epoll и т.д. Ввод-вывод неблокирующий, но обработка клиентов блокирующая
#
10
Книга Юрова В.И пойдёт для обучения?
Botsman
24
Всем доброго дня, ребят подскажите пожалуйста, если в курсе по ассемблеру используется MASM32, могу ли я использовать FASM? В чем явная разница и будет ли у меня все работать?
Botsman
17
Hi Everyone! To all Are you Looking for Interview Support at the Lowest Price? Look no further! Then contact us 👉We offer Interview Support :-for a low cost variety of tech...
Rambabu Nallamilli
3
Карта сайта