У меня есть кластер k8s, в нашем кластере мы не хотим, чтобы стручки были выселены, потому что вытеснение стручка вызывает много побочных эффектов для приложений, работающих на нем.
Чтобы предотвратить вытеснение стручка, мы настроили все пакеты как гарантированное качество обслуживания. Я знаю, что даже в этом случае выселение стручка может произойти, если в системе возникнет нехватка ресурсов. У нас есть мониторы, которые предупреждают нас, когда в модуле и узле возникает нехватка ресурсов. Таким образом, мы узнаем путь прежде, чем стручок будет выселен. Это помогает нам принять меры до того, как pod будет выселен.
Другие причины для вытеснения pod состоят в том, что если узел находится в неготовом состоянии, то kube-controller-manager проверит тайм-аут pod-eviction-timeout и он будет выселять стручки после этого тайм-аута. У нас есть монитор, чтобы предупредить нас, когда узел переходит в состояние неготовности. Теперь, после этого предупреждения, мы хотели предпринять некоторые меры для очистки со стороны приложения, поэтому приложение будет корректно завершено. Чтобы выполнить эту очистку, нам нужно больше, чем несколько часов, но по умолчанию время ожидания pod-eviction-timeout составляет 5 минут.
Можно ли увеличить время вытеснения капсулы до 300 м? Каковы последствия увеличения этого тайм-аута до такого предела?
PS: Я знаю, что в течение этого времени ожидания, если модуль использует больше ресурсов, тогда kubelet может сам выселить этот модуль. Хотелось узнать какой еще эффект от ожидания такого долгого времени?