Kubernetes Agent
Agent which connects to a Kubernetes cluster and uses the available nodes to start / stop load JMeter pods on a given node (where the agent is running).
Compatibility
This agent supports:
Kubernetes 1.10.0 <= version,
Openshift 3.9.0 <= version,
Enterprise-Edition >= 12.0.0.
OctoPerf Settings
Mandatory environment variables:
SERVER_URL: OctoPerf Server Url (Example: https://api.octoperf.com when using our saas platform),
AGENT_TOKEN: encrypted authentication token provided by the OctoPerf server to authenticate the agent.
NODE_NAME: node on which the agent is deployed, (already provided by our Helm Chart).
Optional Environment Variables:
OCTOPERF_KUBERNETES_NAMESPACE: "octoperf" by default. The namespace in which load generator pods are created.
Optional control over JMeter pods resources created by the agent:
OCTOPERF_KUBERNETES_POD_RESOURCES_REQUESTS_MEMORY_FACTOR: 2 by default, which applies to JMeter dynamically allocated max memory,
OCTOPERF_KUBERNETES_POD_RESOURCES_LIMITS_MEMORY_FACTOR: 2 by default, which applies to JMeter dynamically allocated max memory,
OCTOPERF_KUBERNETES_POD_RESOURCES_LIMITS_CPU: none by default, expressed in number of cores to allocate as cpu limit.
Optional Tolerations for JMeter Pods: (version >= 13.2.0)
OCTOPERF_CONTAINER_TOLERATIONS_0_KEY=
OCTOPERF_CONTAINER_TOLERATIONS_0_VALUE=
OCTOPERF_CONTAINER_TOLERATIONS_0_EFFECT=
OCTOPERF_CONTAINER_TOLERATIONS_0_OPERATOR=
OCTOPERF_CONTAINER_TOLERATIONS_0_SECONDS=
OCTOPERF_CONTAINER_TOLERATIONS_1_KEY=
OCTOPERF_CONTAINER_TOLERATIONS_1_VALUE=
OCTOPERF_CONTAINER_TOLERATIONS_1_EFFECT=
OCTOPERF_CONTAINER_TOLERATIONS_1_OPERATOR=
OCTOPERF_CONTAINER_TOLERATIONS_1_SECONDS=
Etc.
Optional Image Pull Secrets for JMeter Pods: (version >= 14.1.1)
OCTOPERF_POD_SPEC_IMAGE_PULL_SECRETS_0_NAME=
OCTOPERF_POD_SPEC_IMAGE_PULL_SECRETS_1_NAME=
Etc.
Kubernetes Settings
This will use settings from different sources in the following order of priority:
System properties,
Environment variables,
Kube config file, (mounted on /home/octoperf/.kube/config),
Service account token & mounted CA certificate (preferred method).
See Fabric 8 Java Client Settings for more information.
Helm Chart
The agent can be installed on any Kubernetes cluster using our Helm Chart:
https://github.com/OctoPerf/helm-charts/tree/master/kubernetes-agent