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 Kubernetes | Version de l’Agent | Raison |
---|
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.
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)
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>
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.)
Déployer l’Agent avec le fichier de configuration ci-dessus
Exécutez :
kubectl apply -f datadog-agent.yaml
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>
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).
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.
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 Registry | Amazon ECR | Azure ACR | Docker Hub |
---|
gcr.io/datadoghq | public.ecr.aws/datadog | datadoghq.azurecr.io | docker.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
Documentation, liens et articles supplémentaires utiles:
Pour aller plus loin
Documentation, liens et articles supplémentaires utiles: