#kubernetes #kubernetes-cronjob
#kubernetes #kubernetes-cronjob
Вопрос:
У меня есть несколько модулей, созданных CronJobs, которые находятся в Error
состоянии, и кажется, что процессор / память, запрошенные этими модулями, не освобождаются, поскольку kubelet их не убивает. Это предотвращает планирование других модулей.
Это ожидаемое поведение? Должен ли я очистить их вручную, чтобы вернуть ресурсы?
Спасибо.
Комментарии:
1. Да, если модули были запланированы для узла и после этого произошла ошибка, вам необходимо удалить эти модули для очистки ресурсов.
2. Спасибо за ваш ответ @KamolHasan. Как насчет модулей в
Completed
состоянии?
Ответ №1:
Модули в Error
вы должны удалить этот модуль, чтобы освободить назначенные ему ресурсы.
Однако модули в Completed
Failed
состоянии или не требуется очищать, чтобы освободить выделенные им ресурсы. Это можно проверить, выполнив простую Job
проверку ресурсов памяти, выделенных в узле.
Выделение памяти перед заданием:
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
Resource Requests Limits
-------- -------- ------
cpu 811m (86%) 1143m (121%)
memory 555Mi (19%) 1115Mi (39%)
Пример задания:
apiVersion: batch/v1
kind: Job
metadata:
creationTimestamp: null
name: test-job
spec:
template:
metadata:
creationTimestamp: null
spec:
containers:
- command:
- date
image: busybox
name: test-job
resources:
requests:
memory: 200Mi
restartPolicy: Never
Память после развертывания задания:
Allocated resources:
(Total limits may be over 100 percent, i.e., overcommitted.)
Resource Requests Limits
-------- -------- ------
cpu 811m (86%) 1143m (121%)
memory 555Mi (19%) 1115Mi (39%)