【问题标题】:Run executable inside Azure Kubernetes Service Pod在 Azure Kubernetes Service Pod 中运行可执行文件
【发布时间】:2020-04-22 00:49:13
【问题描述】:

我想使用 JMeter 和 OS Sampler 进行负载测试。 Jmeter 部署在 Azure Kubernetes 服务 (AKS) 上。我们可以在 AKS Pod 内运行可执行文件(Jmeter 从容器将在 pod 内执行该 exe)吗?

问候, 阿米特·阿格拉瓦尔

【问题讨论】:

    标签: azure-aks jmeter-5.0


    【解决方案1】:

    您可以使用 sidecar 容器方法在您的 pod 中运行第二个容器。

    https://kubernetes.io/docs/tasks/access-application-cluster/communicate-containers-same-pod-shared-volume/#creating-a-pod-that-runs-two-containers

    如果您的 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 设置的需要

    【讨论】:

    • 在 OS Sampler 中,我们提供了 exe 及其工作目录。如果 JMeter 和 EXe 容器都在同一个 POD 中运行,那么工作目录是什么?
    【解决方案2】:

    我找到了另一种方法,使用以下命令将可执行文件及其所有二进制文件复制到 JMeter slave 中。

     kubectl cp <source directory>  <jmeter-slave-podname>:/<target directory>
    

    提供对 jmeter slave pod 中目标目录的所有权限。

    【讨论】:

      猜你喜欢
      • 2021-05-14
      • 2022-12-17
      • 1970-01-01
      • 2021-06-29
      • 2020-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多