Какова моя цель:
У меня есть исследовательская задача, в которой я использую Java-клиент Kubernetes для подписки на API Kubernetes и получения событий обо всех модулях из всех пространств имен (create,изменить, удалить).Моя цель - провести некоторый анализ на основе статусов контейнеров из ответа.
Что я делаю:
У меня есть тестовый кластер с Kubernetes 1.14.Кластер работает на некоторых узлах и вращает кучу стручков.Для тестирования я выбрал 2 модуля, работающие в наборе реплик.Каждый контейнер имеет 1 контейнер.Политика перезапуска - «Всегда».Функция анти-сродства включена, чтобы не запускать 2 копии на одном узле.Время от времени я удаляю случайно выбранный модуль из набора реплик и проверяю ответ.Я ожидаю, что контейнер внутри модуля переключается из состояния «Выполнено» в состояние «Завершено», модуль завершается, и запускается новый модуль.
С чем я столкнулся:
В основномэто работает как ожидалось.Но иногда контейнер переключается из состояния выполнения в состояние ожидания по причине «ContainerCreating».Через некоторое время выяснилось, что это происходит только в том случае, если вновь созданный модуль назначается точно тому же узлу, где удаленный модуль все еще завершается.
Вопрос:
Почему контейнер не меняет свое состояние на Завершенное состояние?Есть ли цель изменить состояние другим способом?