---
title: Datadog Operator
description: Deploy and manage the Datadog Agent on Kubernetes using the Datadog Operator
breadcrumbs: Docs > Containers > Datadog Operator
---

> For the complete documentation index, see [llms.txt](https://docs.datadoghq.com/llms.txt).

# Datadog Operator

[Datadog Operator](http://github.com/DataDog/datadog-operator) is an open source [Kubernetes Operator](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) that enables you to deploy and configure the Datadog Agent in a Kubernetes environment.

By using the Operator, you can use a single Custom Resource Definition (CRD) to deploy the node-based Agent, [Cluster Agent](https://docs.datadoghq.com/containers/cluster_agent.md), and [cluster checks runner](https://docs.datadoghq.com/containers/cluster_agent/clusterchecks.md). The Operator reports deployment status, health, and errors in the Operator's CRD status. Because the Operator uses higher-level configuration options, it limits the risk of misconfiguration.

Once you have deployed the Agent, the Datadog Operator provides the following:

- Validation for your Agent configurations
- Keeping all Agents up-to-date with your configuration
- Orchestration for creating and updating Agent resources
- Reporting of Agent configuration status in the Operator's CRD status
- Per-node-group Agent configuration from a single resource with [DatadogAgentProfiles](https://docs.datadoghq.com/containers/datadog_operator/datadog_agent_profiles.md)
- Automatic detection of the cluster [provider](https://docs.datadoghq.com/containers/datadog_operator/providers.md), which applies the matching configuration, such as control plane monitoring on Amazon EKS and Red Hat OpenShift
- Remote management with Fleet Automation (private preview)

### Why use the Datadog Operator instead of a Helm chart or DaemonSet?{% #why-use-the-datadog-operator-instead-of-a-helm-chart-or-daemonset %}

You can also install the Datadog Agent with the [`datadog` Helm chart](https://docs.datadoghq.com/containers/kubernetes/installation.md?tab=helm) or a DaemonSet. Datadog recommends the Operator for new deployments.

Helm and the Operator differ in how they manage the Agent. Helm renders the Agent's Kubernetes objects from a `values.yaml` file at install and upgrade time. The Operator runs a controller that reconciles a single `DatadogAgent` custom resource toward its desired state continuously, not only at install time.

The Operator also offers capabilities the Helm chart does not. For example, [DatadogAgentProfiles](https://docs.datadoghq.com/containers/datadog_operator/datadog_agent_profiles.md) applies different configurations to different node groups from one resource, whereas Helm requires a separate chart release per node group with hand-written affinity rules.

In Datadog Operator v1.29.0 and later, the Operator reaches feature parity with the Helm chart on the major cloud providers, so you do not lose functionality by choosing it. It can also be installed and upgraded through native platform catalogs that the Helm chart is not published in: Red Hat OperatorHub, the [Amazon EKS add-on](https://aws.amazon.com/marketplace/pp/prodview-wedp6r37fkufe), and [Google Cloud Marketplace](https://console.cloud.google.com/marketplace/product/datadog-saas/datadog).

Use the `datadog` Helm chart when the Operator does not fit your environment: on platforms the Operator does not support yet (such as Talos or Flatcar), on GKE on Google Distributed Cloud (GDC), or when you need a Helm feature the Operator does not expose. For the platforms and providers the Operator supports, see the [providers documentation](https://docs.datadoghq.com/containers/datadog_operator/providers.md).

Datadog fully supports using a DaemonSet to deploy the Agent, but manual DaemonSet configuration leaves significant room for error and is not recommended.

## Usage{% #usage %}

See the [Getting Started with the Datadog Operator](https://docs.datadoghq.com/getting_started/containers/datadog_operator.md) guide to learn how to use the Operator to deploy the Datadog Agent.

For all installation and configuration options, see the detailed [installation](https://github.com/DataDog/datadog-operator/blob/main/docs/installation.md) and [configuration](https://github.com/DataDog/datadog-operator/blob/main/docs/configuration.v2alpha1.md) pages in the [`datadog-operator`](http://github.com/DataDog/datadog-operator) repo.

## Further Reading{% #further-reading %}

Additional helpful documentation, links, and articles:

- [Getting Started with the Datadog Operator](https://docs.datadoghq.com/getting_started/containers/datadog_operator.md)
- [Datadog Operator: Advanced Installation](https://github.com/DataDog/datadog-operator/blob/main/docs/installation.md)
- [Datadog Operator: Configuration](https://github.com/DataDog/datadog-operator/blob/main/docs/configuration.v2alpha1.md)
- [Instrument your app using the Datadog Operator and Admission Controller](https://www.datadoghq.com/architecture/instrument-your-app-using-the-datadog-operator-and-admission-controller/)
