Andor
Andor
Если надо не список, то бери x_real_ip, там вроде строка была
Сергей
Rainbow
Мда, точно уже не буду пробовать, я тогда уж лучше js буду генерить конфиги, чем jsonnet.
import { set } from 'unchanged'
const limits = { ... };
export default set('containers[0].resources.limits', limits, defaultConfig);
Andor
G72K
Andor
Andor
Из либы он приходит прямо в {}
Andor
Rainbow
update-in из clojure 🙈 имутабельность не должна быть болью для разработчика
Михаил
Михаил
Alexander
Andor
Andor
Збс тема
Andrey
Збс тема
По наблюдениям - поды выселяются более своевременно, при резервах в два гига памяти ноды больше не уходят в ступор при чем-то особо внезапно разожравшемся
Andrey
Я сделал enforce только на allocatable, но как я понял, энфорсить лимиты для системных сервисов и кубокомпонентов особого смысла нет - при энфорсе allocatable резервы можно просто сделать достаточными и для того, и для другого
Andrey
Насколько я в принципе понимаю, задание реквестов и лимитов по ресурсам ничего для подов не резервирует и в критических ситуациях все одно упирается в своевременность выселения подов согласно QoS
Andrey
Поэтому я и интересовался опцией --experimental-memcg-notification или вроде того
Andrey
Если я неправ, то буду благодарен за поправки
G72K
Andrey
Andrey
Цитирую доку: "Namespaces to be selected for ServiceMonitor discovery. If nil, only check own namespace."
Andrey
Я жопой прочитал дискуссию.
G72K
Andrey
Забудь, что я написал.
G72K
Нет, поставил точечку напротив имени
Andor
Andrey
Поэтому я и интересовался опцией --experimental-memcg-notification или вроде того
Это не особо много бонусов принесёт. Тут просто разница, как в ядре между polling и interrupts.
Interrupt в данном случае - это memcg notification. Т.е. о проблеме в kubelet прилетит "Interrupt" (на самом деле message в eventfd(2)). Это даст несколько секунд. Принесут ли они пользы? Не знаю. Учитываю, что фичу с memcg notification пилят уже третий год - вряд ли.
Andor
и права оказались не лишние, просто было недопонимание
G72K
у меня уже заработало
Оно работает, но требует доступа ко всем секретам, подам и ещё что-то там в тех же неймспейсах откуда ServiceMonitor берутся
Andor
у нас пофигу
Andor
а потом не моя проблема будет :)
Andrey
Andrey
Andor
у меня на авс прометей с выключенными лимитами не убивался и завешивал ноду
Andrey
Dmytro
Andor
нода под него выделена, поэтому на прод не влияло
особо не разбирался, просто прибивал ноды
Andor
потом повесил лимит чуть-чуть меньше общей памяти нод
Andor
стало убиваться само
Andor
ну а потом вышел релиз с фиксом мемлика
Andrey
Andor
Dmytro
Dmytro
можно пример когда нельзя?
Dmytro
конечно если мы хостинг какой и реселлим цпу и память то надо оверкоммит делать но если мы в своем кластере свои ворклоады гоняем - я пока не знаю кейса зачем делать requests != limits
Andor
особенно если с автоскейлерами
Dmytro
более того, с 1.11 или какой там версии где цпу шедулер подрихтовали ещё и цпу очень желательно округлять до целого числа чтобы под прибивался на конкретные ядра и не было контекст свитчей
Andor
Dmytro
ничо, у тебя скоро будет начальником https://twitter.com/php_ceo
Andor
lol
Andrey
Ну и да, тот же HPA использовать для скейлинга, тогда guaranteed тоже не всегда полезен. Особенно на baremetal.
Dmytro
тут спору нет, таким и 0.1 цпу нарезать можно
Dmytro
Dmytro
чтобы от 90% скейлился например а лучше скейлить по латенси вообще
Dmytro
или мы хотим 100% цпу загрузить (и пол на 95% перцентили по латенси и т.д.)?
Andrey
Dmytro
Dmytro
почему оно должно быть не guaranteed?
Andor
Andrey
ну ставим там цпу requests/limit поменьше
С memory не так чисто всё, как я вижу. Хотя... зависит от программы, наверное. Я был на HL++ 2018 на презентации чувака, который топил за guaranteed QoS. В общем-то, проникся.
Andrey
Я, честно говоря, задумался, почему не везде стоит guaranteed у нас. Пошёл изучать вопрос.
Andrey
Наверное, ответ кроется в более ответственном анализе ресурсов кластера, постоянном мониторинге, а также грамотной настройке HPA.
Andor
короче уметь готовить надо, чтобы везде сделать guaranteed и при этом чтобы не было много простаивающих ресурсов
Dmytro
Andrey
Dmytro
ну и всегда нужно иметь лишнюю ноду
Dmytro
Andor
Andor
Dmytro
Andrey