Helm is a package management tool for Kubernetes.
brew install kubernetes-helm
sudo snap install helm --classic
choco install kubernetes-helm
For other platforms and methods of installing Helm, refer to the Helm documentation.
If your Kubernetes environment does not use RBAC, the following command installs Tiller in your cluster:
helm init
Refer to Helm’s Tiller documentation for further details.
If your Kubernetes cluster is RBAC-enabled, use the following RBAC to deploy Tiller.
apiVersion: v1
kind: ServiceAccount
metadata:
name: tiller
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: tiller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: tiller
namespace: kube-system
With this as your tiller-rbac-config.yaml
, then run:
kubectl create -f tiller-rbac-config.yaml
helm init --service-account tiller
Refer to Helm’s Tiller/RBAC documentation for further details.
To verify your installation, run:
kubectl get pods -n kube-system -l app=helm
This returns something resembling:
NAME READY STATUS RESTARTS AGE
tiller-deploy-f54b67464-jl5gm 1/1 Running 0 3h16m
To install the chart with the release name <RELEASE_NAME>
, retrieve your Datadog API key from your Agent installation instructions and run:
helm install --name <RELEASE_NAME> --set datadog.apiKey=<DATADOG_API_KEY> stable/datadog
Refer to the section below for a list of configurable parameters.
This chart adds the Datadog Agent to all nodes in your cluster via a DaemonSet. It also optionally deploys the kube-state-metrics chart and uses it as an additional source of metrics about the cluster. A few minutes after installation, Datadog begins to report hosts and metrics.
For a full list of the Datadog chart’s configurable parameters and their default values, refer to the Datadog Helm repository readme.
Specify each parameter using the --set key=value[,key=value]
argument to helm install
. For example:
helm install --name <RELEASE_NAME> \
--set datadog.apiKey=<DATADOG_API_KEY>,datadog.logLevel=DEBUG \
stable/datadog
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example:
helm install --name <RELEASE_NAME> -f my-values.yaml stable/datadog
You can copy and customize the default values.yaml.
Use the helm upgrade
command to upgrade to a new version of the chart, or to change the configuration of your release.
helm upgrade -f my-values.yaml <RELEASE_NAME> stable/datadog --recreate-pods
The Datadog entrypoint copies files with a .yaml
extension found in /conf.d
and files with .py
extension in /check.d
to /etc/datadog-agent/conf.d
and /etc/datadog-agent/checks.d
respectively. The keys for datadog.confd
and datadog.checksd
should mirror the content found in their respective ConfigMaps, i.e.:
datadog:
confd:
redisdb.yaml: |-
ad_identifiers:
- redis
- bitnami/redis
init_config:
instances:
- host: "%%host%%"
port: "%%port%%"
jmx.yaml: |-
ad_identifiers:
- openjdk
instance_config:
instances:
- host: "%%host%%"
port: "%%port_0%%"
To uninstall or delete a deployment called <RELEASE_NAME>
:
helm delete <RELEASE_NAME>
This command removes all Kubernetes components associated with the chart and deletes the release.