K8S трафик c от удаленного модуля с внешним доступом - PullRequest
0 голосов
/ 04 августа 2020

У меня есть 2 модуля с простым приложением echo, которые зарегистрированы в службе, которая предоставляет ELB в AWS. Я начинаю curl в al oop со своего ноутбука, чтобы нажать на приложение echo, а затем делаю kubectl delete pod echo-xyz Результаты связаны, так как в течение следующих нескольких секунд трафик c все еще направляется в удаленный модуль. Однако модуль был удален из списка конечных точек правильно. Тот же тест, но выдача curl изнутри кластера для обхода ELB работает должным образом - в момент, когда я удаляю модуль, трафик c направляется в один модуль, оставшийся до тех пор, пока не будет создан новый. На прилагаемом изображении вы можете видеть слева тест изнутри кластера и справа от внешнего через ELB.

сравнение curl

K8s 1.16.8 установлен через kops на AWS.

Любая подсказка будет принята с благодарностью.

1 Ответ

0 голосов
/ 04 августа 2020

Удаление подов происходит не сразу. Существуют списки событий, выполненных kubelet (ожидание льготного периода, перехватчики preStop и т. Д. c), чтобы отключить модуль в случае сбоя. Документация здесь: https://kubernetes.io/docs/concepts/workloads/pods/disruptions/

Этот процесс постепенного завершения является намеренным, поскольку Kubernetes не отправляет команду KILL, а вместо этого работает с сигналом TERM (завершение).

Обратитесь к документации: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod -терминация

Кроме того, --force delete не предлагается, поскольку он обновляет сервер API, не дожидаясь удаления ресурса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...