【问题标题】:Kubernetes + locust (load testing)Kubernetes + locust(负载测试)
【发布时间】:2017-04-14 14:04:38
【问题描述】:

Locust 工作人员配置必须修改,当前工作人员为 130 个节点。我将部署导出为 yaml 文件,编辑了文件并在 locust worker 中应用了修改。

工作人员已重新启动并使用新配置重新初始化。它们都使用我之前修改过的新环境变量运行。

问题是在蝗虫仪表板中节点的数量增加了一倍,分别是工人已经重新启动,当他们起床时,蝗虫用户界面已将其添加为新节点,但没有删除非活动节点一个。

这是目前的情况:

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

如何快速重新初始化 locust master 以获得实际节点数?

谢谢

【问题讨论】:

  • 目前我发现的唯一解决方案是删除 pod 以便重新创建它,这将更改 POD 的 IP。然后使用 kubectl edit deployment locust 并编辑主节点的 IP 地址,这将重新同步所有从节点

标签: kubernetes locust


【解决方案1】:

您目前重置主节点仪表板的唯一方法是重新安排主节点并从干净的 pod 开始。您可以使用kubectl scale deployment/locust-master --replicas=0 执行此操作,并使用kubectl scale deployment/locust-master --replicas=1 扩展它们。但这将丢弃您已经在 master 上收集的任何结果。

这更像是 Locust 问题,然后是 k8s 可以解决 imo 的问题。

【讨论】:

    【解决方案2】:

    问题似乎是该节点一旦尝试注册和主控,如果没有启动,就不会重试。两个主人都没有经常交流来看看我

    删除主 pod 并等待它备份。现在它将有零个奴隶。

    然后删除 node/worker pod 以便它们重新注册。要删除带有标签的 pod,您可以使用以下命令

      # Delete pods and services with label name=myLabel.
      kubectl delete pods,services -l name=myLabel
    

    【讨论】:

      【解决方案3】:

      我认为here 列出了类似的问题。当您启动一个工作器并将其关闭时,它仍会在 UI 中列为缺失。我认为这是因为蝗虫没有办法让工人通知主人他们还没有准备好工作。如前所述,删除您的主节点然后重新启动它将重置 UI。

      与此同时,我认为开发人员知道这个问题。

      【讨论】:

        猜你喜欢
        • 2020-01-02
        • 2020-05-17
        • 2019-01-22
        • 2017-08-09
        • 2021-03-18
        • 2019-12-26
        • 2019-09-18
        • 2021-07-29
        • 1970-01-01
        相关资源
        最近更新 更多