【发布时间】:2020-04-22 00:49:13
【问题描述】:
我想使用 JMeter 和 OS Sampler 进行负载测试。 Jmeter 部署在 Azure Kubernetes 服务 (AKS) 上。我们可以在 AKS Pod 内运行可执行文件(Jmeter 从容器将在 pod 内执行该 exe)吗?
问候, 阿米特·阿格拉瓦尔
【问题讨论】:
标签: azure-aks jmeter-5.0
我想使用 JMeter 和 OS Sampler 进行负载测试。 Jmeter 部署在 Azure Kubernetes 服务 (AKS) 上。我们可以在 AKS Pod 内运行可执行文件(Jmeter 从容器将在 pod 内执行该 exe)吗?
问候, 阿米特·阿格拉瓦尔
【问题讨论】:
标签: azure-aks jmeter-5.0
您可以使用 sidecar 容器方法在您的 pod 中运行第二个容器。
如果您的 Os Sampler 需要访问在另一个 Container 中运行的主应用程序的 PID,则需要打开 ShareProcessNamespace
https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/
这将允许您的 JMETER exe 查看同一 POD 中其他进程的 PID。
这是一个包含一些 JMETER 主/从清单示例的存储库(请注意,它没有使用边车容器模式)
https://github.com/kubernauts/jmeter-kubernetes
虽然这是一个可行且可行的解决方案,但假设您正在查看 CPU/内存指标,您还可以利用 Prometheus 堆栈和 node-exporter
https://github.com/helm/charts/tree/master/stable/prometheus-operator
如果您不允许使用特定的 Jmeter 指标,这可以消除对 JMETER 设置的需要
【讨论】:
我找到了另一种方法,使用以下命令将可执行文件及其所有二进制文件复制到 JMeter slave 中。
kubectl cp <source directory> <jmeter-slave-podname>:/<target directory>
提供对 jmeter slave pod 中目标目录的所有权限。
【讨论】: