⚠️ Repo Archive Notice
As of Nov 13, 2020, charts in this repo will no longer be updated. For more information, see the Helm Charts Deprecation and Archive Notice, and Update.
apm-server
apm-server is the server receives data from the Elastic APM agents and stores the data into a datastore like Elasticsearch.
DEPRECATION NOTICE
This chart is deprecated and no longer supported.
Introduction
This chart deploys apm-server agents to all the nodes in your cluster via a DaemonSet.
By default this chart only ships a single output to a file on the local system. Users should set config.output.file.enabled=false and configure their own outputs as documented
Prerequisites
- Kubernetes 1.9+
Installing the Chart
To install the chart with the release name my-release, run:
$ helm install --name my-release stable/apm-server
After a few minutes, you should see service statuses being written to the configured output, which is a log file inside the apm-server container.
Tip
: List all releases using
helm list
Uninstalling the Chart
To uninstall/delete the my-release deployment:
$ helm delete my-release
The command removes all the Kubernetes components associated with the chart and deletes the release.
Configuration
The following table lists the configurable parameters of the apm-server chart and their default values.
| Parameter | Description | Default |
|---|---|---|
image.repository |
The image repository to pull from | docker.elastic.co/apm/apm-server |
image.tag |
The image tag to pull | 6.2.4 |
image.pullPolicy |
Image pull policy | IfNotPresent |
kind |
Install as Deployment or DaemonSet | Deployment |
replicaCount |
Number of replicas when kind is Deployment | 1 |
updateStrategy |
Allows setting of RollingUpdate strategy | {} |
service.enabled |
If true, create service pointing to APM Server | true |
service.type |
type of service | ClusterIP |
service.port |
Service port | 8200 |
service.portName |
Service port name | None |
service.clusterIP |
Static clusterIP or None for headless services | None |
service.externalIPs |
External IP addresses | None |
service.loadBalancerIP |
Load Balancer IP address | None |
service.loadBalancerSourceRanges |
Limit load balancer source IPs to list of CIDRs (where available) | [] |
service.nodePort |
NodePort value if service.type is NodePort | None |
service.annotations |
Kubernetes service annotations | None |
service.labels |
Kubernetes service labels | None |
ingress.enabled |
If true, create ingress pointing to service | false |
ingress.annotations |
Kubernetes ingress annotations | None |
ingress.labels |
Kubernetes service labels | None |
ingress.hosts |
List of ingress accepted hostnames | apm-server-ingress.example.com |
ingress.tls |
Ingress TLS configuration | [] |
rbac.create |
If true, create & use RBAC resources | true |
rbac.serviceAccount |
existing ServiceAccount to use (ignored if rbac.create=true) | default |
config |
The content of the configuration file consumed by apm-server. See the apm-server documentation for full details | |
plugins |
List of apm-server plugins | |
extraVars |
A map of additional environment variables | |
extraVolumes, extraVolumeMounts |
Additional volumes and mounts, for example to provide other configuration files | |
resources.requests.cpu |
CPU resource requests | |
resources.limits.cpu |
CPU resource limits | |
resources.requests.memory |
Memory resource requests | |
resources.limits.memory |
Memory resource limits | |
nodeSelector |
Node labels for pod assignment | {} |
tolerations |
List of node taints to tolerate | [] |
affinity |
Node/Pod affinities | None |
autoscaling |
HorizontalPodAutoscaler for the deployment | {} |
runAsUser |
User id to use when running the pod | 1000 |
runAsGroup |
Group id to use when running the pod | 1000 |
Specify each parameter using the --set key=value[,key=value] argument to helm install. For example,
$ helm install --name my-release \
--set rbac.create=true \
stable/apm-server
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
$ helm install --name my-release -f values.yaml stable/apm-server
Tip
: You can use the default values.yaml