Как можно иметь 80 узлов, когда у нас есть такой конфиг?
Пример (в документации, на которую вы ссылаетесь) говорит о 80 пакетах, но это просто случайное число для иллюстрации конкретного примера.
Как можно иметь 80 узлов, если kubernetes начинает уменьшать количество узлов каждый раз, когда у нас> 40 узлов
Не каждый раз. Он начинает уменьшать количество модулей, только если / когда Autoscaler решает уменьшить масштаб.
Я понял, что когда Autoscaler решает уменьшить масштаб - это уменьшает количество повторений на 10% порциями
Вы правы, что в документации описан случай, когда было 80 модулей, и из-за отсутствия нагрузки пришло время "спустить" кластер для уменьшения количества модулей.
но я могу ' не понимаю смысла первого правила. Не могли бы вы уточнить?
Позволяет go пройти через него еще раз.
behavior:
scaleDown:
policies:
- type: Pods
value: 4
periodSeconds: 60
- type: Percent
value: 10
periodSeconds: 60
Здесь вы можете увидеть две политики. А именно Pods
и Percent
. Когда указано несколько политик, политика, которая допускает наибольшее количество изменений, является политикой, выбранной по умолчанию.
Именно поэтому в случае, если имеется 80 модулей, и система должна уменьшить масштаб, скажем до 10, она проверяет сколько модулей можно отключить с помощью каждой политики.
Pods
позволяют отключать только 4 модуля за раз, тогда как Percent
80Pods * 10Percent = 8Pods. Выигрывает Percent
, 8 Боксов отключаются, 72 Блока уходят, и процесс начинается снова.
На этот раз Percent
позволяет отключить 72 * 0,1 = 7,2 стручка. Все еще больше 4. Значение округляется до 8. Поэтому 10% живых модулей снова закрываются. 72-8 = осталось 64 стручка.
На каждом l oop контроллера автомасштабера количество заменяемых модулей пересчитывается на основе количества текущих реплик.
Таким образом, прогресс будет равен 80 (-8) -> 72 (-8) -> 64 (-7) -> 57 (-6) -> 51 (-6) - -> 45 (-5) -> 40
Когда количество реплик падает ниже 40, применяется первая политика Pods
и одновременно сокращаются 4 реплики.
С Осталось 40 стручков, и Pods
, и Percent
- это примерно 4 стручка.
36 стручков осталось, 10% - это 3,6 стручка (до округления), что определенно меньше 4 стручков по первому правилу. Pods
выигрывает, 4 стручка выключаются.
Ход будет примерно 36 (-4) -> 32 (-4) -> 28 ... и т. Д.
Надеюсь, это поможет! :)