хороший вопрос!
Вам необходимо учесть 4 вещи:
Запустите модуль с помощью Deployment , чтобы включить репликацию, последовательное обновление, ... так далее
Установите resources.limits
в определение вашего контейнера. это обязательно для автомасштабирования, потому что HPA отслеживает процент использования, и если есть NO limit , будет NEVER проценты , тогда HPA никогда не достигнет порога .
Установить resources.requests
. Это поможет планировщику оценить, сколько требуется приложению, чтобы оно было назначено подходящему узлу в соответствии с его текущей емкостью.
Установить порог HPA: процент использования (ЦП, памяти), когда HPA запускает масштабирование или масштабирование.
для вашей ситуации, вы сказали «один на процессор» .. тогда это должно быть:
containers:
- name: express
image: myapp-node
#.....
resources:
requests:
memory: "256Mi"
cpu: "750m"
limits:
memory: "512Mi"
cpu: "1000m" # <-- ? match what you have in the legacy deployment
вы можете спросить, почему я устанавливаю ограничения / запросы памяти без какого-либо ввода с вашей стороны? Ответ таков: я ставил случайно. Ваша задача - следить за своим приложением и соответствующим образом корректировать все эти значения.