Warning
Upcoming changes to Agent DaemonSet labels and selectors may affect your setup.
- In Operator v1.21.0, all DaemonSets will replace the
matchLabels
selectoragent.datadoghq.com/name: <dda-name>
withagent.datadoghq.com/instance: <dda-name>-agent
.
If using the preview feature DatadogAgentProfiles (DAPs), the following changes will occur:
- In Operator v1.18.0, the
app.kubernetes.io/instance
label value was changed from<dda-name>-agent
to<dap-name>-agent
on DAP-managed Pods and DaemonSets. - In Operator v1.21.0, the following changes will occur:
- All DaemonSets will replace the
matchLabels
selectoragent.datadoghq.com/name: <dda-name>
withagent.datadoghq.com/instance: <dda-name>-agent
(for default DaemonSets) or<dap-name>-agent
(for DAP-managed DaemonSets). - DAP-managed DaemonSets will be renamed from
datadog-agent-with-profile-<dda-name>-<dap-name>
to<dap-name>-agent
.
- All DaemonSets will replace the
matchLabels
(e.g., in NetworkPolicies, admission controllers, or automation), you may need to update those resources.
For a safe, zero-downtime migration path and full details, see the migration guide.
The Datadog Operator aims to provide a new way of deploying the Datadog Agent on Kubernetes. Once deployed, the Datadog Operator provides:
- Agent configuration validation that limits configuration mistakes.
- Orchestration of creating/updating Datadog Agent resources.
- Reporting of Agent configuration status in its Kubernetes CRD resource.
- Optionally, use of an advanced
DaemonSet
deployment by leveraging the ExtendedDaemonSet. - Many other features to come :).
The Datadog Operator is RedHat certified and available on operatorhub.io.
You can also use official Datadog Helm chart or a DaemonSet to install the Datadog Agent on Kubernetes. However, using the Datadog Operator offers the following advantages:
- The Operator has built-in defaults based on Datadog best practices.
- Operator configuration is more flexible for future enhancements.
- As a Kubernetes Operator, the Datadog Operator is treated as a first-class resource by the Kubernetes API.
- Unlike the Helm chart, the Operator is included in the Kubernetes reconciliation loop.
Datadog fully supports using a DaemonSet to deploy the Agent, but manual DaemonSet configuration leaves significant room for error. Therefore, using a DaemonSet is not highly recommended.
See the Getting Started dedicated documentation to learn how to deploy the Datadog operator and your first Agent, and Configuration to see examples, a list of all configuration keys, and default values.
Datadog Operator v1.8.0+
does not support migrating from DatadogAgent
CRD v1alpha1
to v2alpha1
or from Operator v0.8.x
to v1.x.x
.
Use the conversion webhook in v1.7.0
to migrate, and then upgrade to a recent version.
- Cluster Agent
- Admission Controller
- Cluster Checks
- Kubernetes Event Collection
- Kubernetes State Core Check
- Live Container Collection
- Orchestrator Explorer
- UnixDomainSocket transport for DogStatsD (and APM if enabled)
- Process Discovery
- Control Plane Monitoring
The Datadog operator also allows you to:
- Configure and provide custom checks to the Agents.
- Deploy the Datadog Cluster Agent with your node Agents.
- Secrets Management with the Datadog Operator.
See the deprecated configurations and migration guidelines page.
See the How to Contribute page.
Release process documentation is available here.