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.
Operator 1.0.0 contains several changes users need to be aware of:
DatadogAgentCRD has two versions,v1alpha1andv2alpha1. They are used as a stored version by Operator0.8.xand1.0.0respectively. See this Kubernetes documentation page for more details about CRD versioning.v1alpha1andv2alpha1are not backward or forward compatible. The Datadog Operator1.0.0implements a Conversion Webhook to migrate, though it only supports migrating fromv1alpha1tov2alpha1.- With the Conversion Webhook enabled, users can run
1.0.0but continue applying av1alpha1manifest. However, they won't be able to retrieve theDatadogAgentmanifest as av1alpha1object (see the previous item). - The Conversion Webhook requires a cert manager. See the migration guide in the public or helm chart documentation for more details.
0.8.xmanagedPodDisruptionBudgetfor Cluster Agent and Cluster Checks Worker deployments.1.0.0doesn't, however this is on our roadmap.
- 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
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 How to Contribute page.
Release process documentation is available here.