Запросы процессора / памяти модуля в состоянии ошибки не освобождаются

#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%)