Pour configurer l’Agent de cluster Datadog sur votre cluster Kubernetes, suivez ces étapes :
L’Agent de cluster Datadog a besoin des autorisations RBAC adéquates pour fonctionner :
Examinez les manifestes dans le dossier RBAC de l’Agent de cluster Datadog. Notez que lorsque vous utilisez l’Agent de cluster, vos Agents de nœud ne peuvent pas interagir avec le serveur d’API Kubernetes ; seul l’Agent de cluster peut le faire.
Pour configurer les autorisations RBAC de l’Agent de cluster, appliquez les manifestes suivants. Il se peut que vous ayez déjà effectué cette opération lors de la configuration du daemonset de l’Agent de nœud.
kubectl apply -f "https://raw.githubusercontent.com/DataDog/datadog-agent/master/Dockerfiles/manifests/rbac/clusterrole.yaml"
kubectl apply -f "https://raw.githubusercontent.com/DataDog/datadog-agent/master/Dockerfiles/manifests/rbac/serviceaccount.yaml"
kubectl apply -f "https://raw.githubusercontent.com/DataDog/datadog-agent/master/Dockerfiles/manifests/rbac/clusterrolebinding.yaml"
Cela permet de créer les objets ServiceAccount
, ClusterRole
et ClusterRoleBinding
appropriés pour l’Agent de cluster.
Utilisez l’une des options suivantes pour sécuriser les communications entre l’Agent Datadog et l’Agent de cluster Datadog.
Si vous définissez la valeur sans utiliser de secret, le token est alors lisible dans le PodSpec
.
Exécutez la commande suivante pour créer un token de secret :
echo -n '<ThirtyX2XcharactersXlongXtoken>' | base64
Exécutez cette commande d’une ligne :
kubectl create secret generic datadog-auth-token --from-literal=token=<ThirtyX2XcharactersXlongXtoken>
Vous pouvez également spécifier le token dans le fichier dca-secret.yaml
qui se trouve dans le répertoire manifest/cluster-agent.
Utilisez ce secret avec la variable d’environnement DD_CLUSTER_AGENT_AUTH_TOKEN
dans les manifestes de l’Agent de cluster. Consultez la section Étape 3 : Créer l’Agent de cluster et son service et la section Étape 2 : Activer l’Agent Datadog.
Exécutez la commande suivante pour créer un token de secret :
echo -n '<ThirtyX2XcharactersXlongXtoken>' | base64
Utilisez ce secret avec la variable d’environnement DD_CLUSTER_AGENT_AUTH_TOKEN
dans les manifestes de l’Agent de cluster et de l’Agent basé sur des nœuds.
- name: DD_CLUSTER_AGENT_AUTH_TOKEN
value: "<ThirtyX2XcharactersXlongXtoken>"
Exécutez la commande suivante pour créer un token de secret :
echo -n '<ThirtyX2XcharactersXlongXtoken>' | base64
Créez votre datadog-cluster.yaml
avec les variables de votre choix dans le fichier datadog.yaml
et créez la ConfigMap comme suit :
kubectl create configmap dca-yaml --from-file datadog-cluster.yaml
Remarque : cela doit être défini dans le manifeste de l’Agent de cluster et celui de l’Agent de nœud.
Téléchargez les manifestes suivants :
Dans le manifeste cluster-agent.yaml
, remplacez <YOUR_API_KEY>
par votre clé d’API Datadog :
Dans le manifeste cluster-agent.yaml
, définissez le token conformément à la section Étape 2 : Sécuriser les communications entre l’Agent de cluster et l’Agent. Le format dépend de la façon dont vous configurez votre secret ; les instructions se trouvent directement dans le manifeste.
Exécutez : kubectl apply -f datadog-cluster-agent_service.yaml
Enfin, déployez l’Agent de cluster Datadog : kubectl apply -f cluster-agent.yaml
À ce stade, vous devriez voir ce qui suit :
-> kubectl get deploy
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
datadog-cluster-agent 1 1 1 1 1d
-> kubectl get secret
NAME TYPE DATA AGE
datadog-auth-token Opaque 1 1d
-> kubectl get pods -l app=datadog-cluster-agent
datadog-cluster-agent-8568545574-x9tc9 1/1 Running 0 2h
-> kubectl get service -l app=datadog-cluster-agent
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
datadog-cluster-agent ClusterIP 10.100.202.234 none 5005/TCP 1d
Remarque : si l’Agent Datadog s’exécute déjà, vous devrez peut-être appliquer le manifeste rbac-agent.yaml avant que l’Agent de cluster ne puisse s’exécuter.
Une fois l’Agent de cluster Datadog configuré, configurez votre Agent Datadog de façon à le faire communiquer avec l’Agent de cluster Datadog.
Téléchargez le manifeste rbac-agent.yaml. Remarque : lorsque vous utilisez l’Agent de cluster, vos Agents de nœud ne peuvent pas interagir avec le serveur d’API Kubernetes ; seul l’Agent de cluster peut le faire.
Exécutez : kubectl apply -f rbac-agent.yaml
.
Téléchargez le manifeste agent.yaml.
Dans le manifeste agent.yaml
, remplacez <YOUR_API_KEY>
par votre clé d’API Datadog :
Dans le manifeste agent.yaml
, remplacez <DD_SITE>
par le site Datadog que vous utilisez, p. ex. datadoghq.com
or datadoghq.eu
. Cette valeur correspond par défaut à datadoghq.com
.
Dans le manifeste agent.yaml
, définissez le token conformément à la section Étape 2 : Sécuriser les communications entre l’Agent de cluster et l’Agent. Le format dépend de la façon dont vous configurez votre secret ; les instructions se trouvent directement dans le manifeste.
Créez le DaemonSet avec cette commande : kubectl apply -f agent.yaml
.
Exécutez :
kubectl get pods | grep agent
Vous devriez voir ce qui suit :
datadog-agent-4k9cd 1/1 Running 0 2h
datadog-agent-4v884 1/1 Running 0 2h
datadog-agent-9d5bl 1/1 Running 0 2h
datadog-agent-dtlkg 1/1 Running 0 2h
datadog-agent-jllww 1/1 Running 0 2h
datadog-agent-rdgwz 1/1 Running 0 2h
datadog-agent-x5wk5 1/1 Running 0 2h
[...]
datadog-cluster-agent-8568545574-x9tc9 1/1 Running 0 2h
La transmission des événements Kubernetes à votre compte Datadog commence alors. Les métriques pertinentes recueillies par vos Agents se voient assignées le tag correspondant dans les métadonnées de cluster.
Documentation, liens et articles supplémentaires utiles: