Мой модуль развертывания был удален из-за потребления памяти:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning Evicted 1h kubelet, gke-XXX-default-pool-XXX The node was low on resource: memory. Container my-container was using 1700040Ki, which exceeds its request of 0.
Normal Killing 1h kubelet, gke-XXX-default-pool-XXX Killing container with id docker://my-container:Need to kill Pod
Я попытался выделить ему больше памяти, добавив в свое развертывание yaml
следующее:
apiVersion: apps/v1
kind: Deployment
...
spec:
...
template:
...
spec:
...
containers:
- name: my-container
image: my-container:latest
...
resources:
requests:
memory: "3Gi"
Однако не удалось развернуть:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 4s (x5 over 13s) default-scheduler 0/3 nodes are available: 3 Insufficient memory.
Normal NotTriggerScaleUp 0s cluster-autoscaler pod didn't trigger scale-up (it wouldn't fit if a new node is added)
Развертывание запрашивает только один контейнер.
Я использую GKE
с автоматическим масштабированием, узлы в пуле по умолчанию (и только) имеют 3,75 ГБ памяти.
Методом проб и ошибок я обнаружил, что максимальный объем памяти, который я могу запросить, составляет «2Gi». Почему я не могу использовать все 3,75 узла с одним модулем? Нужны ли мне узлы с большей емкостью памяти?