Installer l'Agent Datadog sur Kubernetes

Présentation

Cette page fournit des instructions pour installer l’Agent Datadog dans un environnement Kubernetes.

Pour parcourir la documentation dédiée aux principales distributions Kubernetes, y compris AWS Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), Red Hat OpenShift, Rancher et Oracle Container Engine pour Kubernetes (OKE) et découvrir des exemples, référez-vous à la section Distributions Kubernetes.

Pour parcourir la documentation dédiée à la surveillance du plan de contrôle Kubernetes ainsi que des exemples, consultez la section Surveillance du plan de contrôle Kubernetes.

Versions minimales de Kubernetes et de l’Agent Datadog

Pour utiliser certaines fonctionnalités des versions récentes de Kubernetes, vous devez exécuter des versions minimales de l’Agent Datadog et de l’Agent de cluster.

Version de KubernetesVersion de l’AgentRaison
1.16.0+7.19.0+Obsolescence des métriques Kubelet
1.21.0+7.36.0+Obsolescence des ressources Kubernetes
1.22.0+7.37.0+Prise en charge du token de compte de service dynamique

Voir aussi : Versions minimales de Kubernetes et de l’Agent de cluster.

Installation

Aidez-vous de la page Installation sur Kubernetes dans Datadog pour vous guider tout au long du processus d’installation.

  1. Sélectionner la méthode d’installation

    Choisissez l’une des méthodes d’installation suivantes :

    • Datadog Operator (recommandé) : un operator Kubernetes que vous pouvez utiliser pour déployer l’Agent Datadog sur Kubernetes et OpenShift. Il indique l’état du déploiement, la santé et les erreurs dans le statut de sa Custom Resource, et réduit le risque de mauvaise configuration grâce à des options de configuration de plus haut niveau.
    • Helm
    • Installation manuelle. Consultez la rubrique Manually install and configure the Datadog Agent with a DaemonSet (en anglais)
Nécessite Helm et le CLI kubectl.
  1. Installer l’Operator Datadog

    Pour installer l’Operator Datadog dans votre espace de nommage actuel, exécutez :

    helm repo add datadog https://helm.datadoghq.com
    helm install datadog-operator datadog/datadog-operator
    kubectl create secret generic datadog-secret --from-literal api-key=<DATADOG_API_KEY>
    
  2. Configurer datadog-agent.yaml

    Créez un fichier datadog-agent.yaml contenant :

    apiVersion: datadoghq.com/v2alpha1
    kind: DatadogAgent
    metadata:
      name: datadog
    spec:
      global:
        clusterName: <CLUSTER_NAME>
        site: <DATADOG_SITE>
        credentials:
          apiSecret:
            secretName: datadog-secret
            keyName: api-key
    
    • Remplacez <CLUSTER_NAME> par un nom pour votre cluster.
    • Remplacez <DATADOG_SITE> par votre site Datadog. Votre site est . (Assurez-vous que le bon site est sélectionné à droite.)
  3. Déployer l’Agent avec le fichier de configuration ci-dessus

    Exécutez :

    kubectl apply -f datadog-agent.yaml
    
Requires Helm.
  1. Add the Datadog Helm repository

    Run:

    helm repo add datadog https://helm.datadoghq.com
    helm repo update
    kubectl create secret generic datadog-secret --from-literal api-key=<DATADOG_API_KEY>
    
  2. Configure datadog-values.yaml

    Create a file, datadog-values.yaml, that contains:

    datadog:
     apiKeyExistingSecret: datadog-secret
     site: <DATADOG_SITE>
    
    • Replace <DATADOG_SITE> with your Datadog site. Your site is . (Ensure the correct SITE is selected on the right).
  3. Deploy Agent with the above configuration file

    Run:

    helm install datadog-agent -f datadog-values.yaml datadog/datadog
    
    For Windows, append --set targetSystem=windows to the helm install command.
  1. Confirm Agent installation

    Verify that Agent pods (tagged with app.kubernetes.io/component:agent) appear on the Containers page in Datadog. Agent pods are detected within a few minutes of deployment.

<CLUSTER_NAME> allows you to scope hosts and Cluster Checks. This unique name must be dot-separated tokens and abide by the following restrictions:

  • Must only contain lowercase letters, numbers, and hyphens
  • Must start with a letter
  • Must end with a number or a letter
  • Must be less than or equal to 80 characters

Unprivileged installation

To run an unprivileged installation, add the following to datadog-agent.yaml:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    clusterName: <CLUSTER_NAME>
    site: <DATADOG_SITE>
    credentials:
      apiSecret:
        secretName: datadog-secret
        keyName: api-key
agent:
  config:
    securityContext:
      runAsUser: <USER_ID>
      supplementalGroups:
        - <GROUP_ID>

Then, deploy the Agent:

kubectl apply -f datadog-agent.yaml

To run an unprivileged installation, add the following to your datadog-values.yaml file:

datadog:
  apiKeyExistingSecret: datadog-secret
  site: <DATADOG_SITE>
  securityContext:
      runAsUser: <USER_ID>
      supplementalGroups:
        - <GROUP_ID>
  • Replace <USER_ID> with the UID to run the Datadog Agent.
  • Replace <GROUP_ID> with the group ID that owns the Docker or containerd socket.

Then, deploy the Agent:

helm install datadog-agent -f datadog-values.yaml datadog/datadog

Container registries

Datadog publishes container images to Google Artifact Registry, Amazon ECR, Azure ACR, and Docker Hub:

Google Artifact RegistryAmazon ECRAzure ACRDocker Hub
gcr.io/datadoghqpublic.ecr.aws/datadogdatadoghq.azurecr.iodocker.io/datadog

By default, the Agent image is pulled from Google Artifact Registry (gcr.io/datadoghq). If Artifact Registry is not accessible in your deployment region, use another registry.

If you are deploying the Agent in an AWS environment, Datadog recommend that you use Amazon ECR.

Docker Hub is subject to image pull rate limits. If you are not a Docker Hub customer, Datadog recommends that you update your Datadog Agent and Cluster Agent configuration to pull from Google Artifact Registry or Amazon ECR. For instructions, see Changing your container registry.

To use a different container registry, modify global.registry in datadog-agent.yaml.

For example, to use Amazon ECR:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    clusterName: <CLUSTER_NAME>
    registry: public.ecr.aws/datadog
    site: <DATADOG_SITE>
    credentials:
      apiSecret:
        secretName: datadog-secret
        keyName: api-key

To use a different container registry, modify registry in datadog-values.yaml.

For example, to use Amazon ECR:

registry: public.ecr.aws/datadog
datadog:
  apiKeyExistingSecret: datadog-secret
  site: <DATADOG_SITE>

For more information, see Changing your container registry.

Uninstall

kubectl delete datadogagent datadog
helm delete datadog-operator

This command deletes all Kubernetes resources created by installing Datadog Operator and deploying the Datadog Agent.

helm uninstall datadog-agent

Étapes suivantes

Surveiller votre infrastructure dans Datadog

Utilisez la page Containers pour avoir de la visibilité sur votre infrastructure de conteneurs, avec des métriques de ressources et une recherche par facettes. Pour en savoir plus sur l’utilisation de cette page, consultez Containers View (en anglais).

Utilisez la page Container Images (en anglais) pour obtenir des informations sur chaque image utilisée dans votre environnement. Cette page affiche aussi les vulnérabilités détectées dans vos images de conteneurs par Cloud Security. Pour en savoir plus, consultez la section Containers Images View (en anglais).

La section Kubernetes propose un aperçu de toutes vos ressources Kubernetes. L’Orchestrator Explorer vous permet de surveiller l’état des pods, des déploiements et d’autres concepts Kubernetes dans un espace de nommage ou une zone de disponibilité donnée, de consulter les spécifications des ressources pour les pods défaillants au sein d’un déploiement, de mettre en corrélation l’activité des nœuds avec les logs associés, et bien plus. La page Utilisation des ressources fournit des informations sur la manière dont vos workloads Kubernetes consomment les ressources informatiques dans toute votre infrastructure. Pour en savoir plus, consultez les rubriques Orchestrator Explorer et Utilisation des ressources Kubernetes.

Activer les fonctionnalités


Pour aller plus loin