Warning
Upcoming changes to Agent DaemonSet labels and selectors may affect your setup.
- In Operator v1.21.0, all DaemonSets will replace the
matchLabelsselectoragent.datadoghq.com/name: <dda-name>withapp.kubernetes.io/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/instancelabel value was changed from<dda-name>-agentto<dap-name>-agenton DAP-managed Pods and DaemonSets. - In Operator v1.21.0, the following changes will occur:
- All DaemonSets will replace the
matchLabelsselectoragent.datadoghq.com/name: <dda-name>withapp.kubernetes.io/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
DaemonSetdeployment 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.