Я использую кластер Kubernetes с одним диспетчером узлов и 4 рабочими узлами. когда я запускаю модуль, он правильно назначается одному рабочему, и он начинает работать. Когда я выключаю воркера, которому был назначен модуль, менеджер обнаруживает узел NotReady через 40 секунд, а через 2 секунды модуль становится завершающим. Я установил этот допуск для своего модуля:
spec:
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 2
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 2
, поэтому поведение соответствует моим ожиданиям. Чего я не ожидаю, так это того, что модуль останется в состоянии завершения, пока рабочий не вернется в состояние готовности. Когда рабочий снова заработает, модуль удаляется из моей системы. Я ожидаю, что, когда истекло время допуска, модуль должен быть запланирован на другом работнике и запущен снова. Ниже кластера с версиями:
docker1 Ready <none> 21d v1.17.4 192.168.1.2 <none> CentOS Linux 7 (Core) 5.5.9-1.el7.elrepo.x86_64 docker://19.3.8
docker2 Ready <none> 21d v1.17.4 192.168.1.3 <none> CentOS Linux 7 (Core) 5.5.11-1.el7.elrepo.x86_64 docker://19.3.8
docker3 Ready <none> 21d v1.17.4 192.168.1.4 <none> CentOS Linux 7 (Core) 5.6.4-1.el7.elrepo.x86_64 docker://19.3.8
docker4 Ready <none> 19d v1.17.4 192.168.1.5 <none> CentOS Linux 7 (Core) 5.6.4-1.el7.elrepo.x86_64 docker://19.3.8
manager Ready master 22d v1.17.4 192.168.1.1 <none> CentOS Linux 7 (Core) 5.5.9-1.el7.elrepo.x86_64 docker://19.3.8
может ли кто-нибудь подсказать мне, что мне не хватает, или это правильное поведение?