K8S: Контейнер меняет состояние с "Работает" на "Ожидание" при удалении модуля.

Какова моя цель:

У меня есть исследовательская задача, в которой я использую Java-клиент Kubernetes для подписки на Kubernetes API и получения событий обо всех модулях из всех пространств имен (создание, изменение, удаление). Моя цель - сделать некоторый анализ на основе статусов контейнеров из ответа.

Что я делаю:

У меня есть тестовый кластер с Kubernetes 1.14. Кластер работает на некоторых узлах и крутит кучу подов. Для тестирования я выбрал 2 модуля, работающих в наборе реплик. Каждая капсула имеет 1 контейнер. Политика перезапуска - "Всегда". Функция Anti-affinity включена, чтобы не запускать 2 копии на одном узле. Время от времени я удаляю случайно выбранный модуль из набора реплик и проверяю ответ. Я ожидаю, что контейнер внутри модуля перейдет из состояния выполнения в состояние завершения, модуль завершится и запустится новый модуль.

С чем я столкнулся:

В основном это работает так, как ожидалось. Но иногда контейнер переключается из состояния выполнения в состояние ожидания с причиной "Создание контейнера". Через некоторое время выяснилось, что это происходит только в том случае, если вновь созданный модуль назначается точно тому же узлу, на котором удаленный модуль все еще завершается.

Вопрос:

Почему контейнер не меняет свое состояние на состояние Завершено? Есть ли цель изменить состояние по-другому?

0 ответов

Другие вопросы по тегам