У меня 1 узел K8 кластера на digitalocean с 1cpu / 2gbRAM
и 3 узла кластера на google cloud с 1cpu / 2gbRAM Я выполнил два задания по отдельности на каждой облачной платформе с включенным автоматическим масштабированием.
Первое задание имело запрос памяти 200Mi * 1004 *
apiVersion: batch/v1
kind: Job
metadata:
name: scaling-test
spec:
parallelism: 16
template:
metadata:
name: scaling-test
spec:
containers:
- name: debian
image: debian
command: ["/bin/sh","-c"]
args: ["sleep 300"]
resources:
requests:
cpu: "100m"
memory: "200Mi"
restartPolicy: Never
Дополнительные узлы (1cpu / 2gbRAM) были автоматически добавлены в кластер, и после завершения задания дополнительный узел был автоматически удален.
После этого я выполнил второе задание с запросом памяти 4500Mi * 1009 *
apiVersion: batch/v1
kind: Job
metadata:
name: scaling-test2
spec:
parallelism: 3
template:
metadata:
name: scaling-test2
spec:
containers:
- name: debian
image: debian
command: ["/bin/sh","-c"]
args: ["sleep 5"]
resources:
requests:
cpu: "100m"
memory: "4500Mi"
restartPolicy: Never
После проверки, позднее задание осталось в состоянии ожидания. Я проверил журнал событий модуля и вижу следующую ошибку.
0/5 nodes are available: 5 Insufficient memory **source: default-scheduler**
pod didn't trigger scale-up (it wouldn't fit if a new node is added): 1 Insufficient memory **source:cluster-autoscaler**
кластер не масштабировался автоматически для требуемого запрошенного ресурса для работы. Возможно ли это с помощью kubernetes?