Кубернетес + саранча (нагрузочное тестирование)
Конфигурацию саранчовых пришлось модифицировать, текущие рабочие - это 130 узлов. Я экспортировал развертывание как файл yaml, отредактировал файл и применил изменения в работнике саранчи.
Рабочие были перезапущены и повторно инициализированы с новыми конфигурациями. Все они работают с новой переменной среды, которую я изменил ранее.
Проблема в том, что в панели управления саранчой счетчик узлов был удвоен, соответственно, рабочие были перезапущены, и когда они встали, пользовательский интерфейс саранчи добавил его как новый узел, но не удалил неактивный.
Это текущая ситуация:
host-xxx:~/pula/distributed-load-testing-using-kubernetes/kubernetes-config # kubectl get pods -o wide|wc -l
134
host-xxx:~/pula/distributed-load-testing-using-kubernetes/kubernetes-config # kubectl get pods|grep Running|wc -l
133
host-xxx:~/pula/distributed-load-testing-using-kubernetes/kubernetes-config #
Приборная доска:
STATUS
HATCHING
85 users
Edit
**SLAVES
260**
RPS
0
FAILURES
0%
 Reset Stats
StatisticsFailuresExceptions
Type Name # requests # fails Median Average Min Max Content Size # reqs/sec
Total 0 0 0 0 0 0 0 0
Download request statistics CSV
Download response time distribution CSV
Какой будет быстрая повторная инициализация мастера саранчи, чтобы получить реальное количество узлов?
Спасибо
3 ответа
Кажется, проблема в том, что узел, как только он попытается зарегистрироваться, и мастер, если не работает, не будет повторять попытку. Ни один мастер не поддерживает постоянную связь, чтобы увидеть
Удалите мастер-модуль и дождитесь его резервного копирования. Теперь у него будет ноль рабов.
Затем удалите узлы / рабочие модули, чтобы они перерегистрировались. Для удаления контейнеров с ярлыками вы можете использовать команду ниже
# Delete pods and services with label name=myLabel.
kubectl delete pods,services -l name=myLabel
Единственный способ на данный момент сбросить панель мониторинга главного узла - переназначить мастер и начать с чистого модуля. Вы можете сделать это с kubectl scale deployment/locust-master --replicas=0
и масштабировать их обратно с kubectl scale deployment/locust-master --replicas=1
, Но это отбросит любые результаты, которые вы уже собрали на мастере.
Это скорее проблема саранчи, чем то, что k8s может решить imo.
Думаю, здесь указана похожая проблема . Когда вы запускаете воркер и закрываете его, он все равно будет отображаться в пользовательском интерфейсе как отсутствующий. Я думаю, это потому, что у саранчи нет возможности для рабочих сообщить хозяину, что они не готовы к работе. Как было сказано перед удалением вашего главного узла, а затем его перезапуск, пользовательский интерфейс будет сброшен.
А пока я думаю, что разработчики знают об этой проблеме.