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/cluster-agent/rbac.yaml"
kubectl apply -f "https://raw.githubusercontent.com/DataDog/datadog-agent/master/Dockerfiles/manifests/cluster-agent/cluster-agent-rbac.yaml"
Cela permet de créer les objets ServiceAccount
, ClusterRole
et ClusterRoleBinding
appropriés pour l’Agent de cluster, et de mettre à jour l’objet ClusterRole
pour l’Agent de nœud.
Si vous utilisez Azure Kubernetes Service (AKS), vous aurez besoin de permissions supplémentaires. Consultez la FAQ dédiée pour les RBAC sur AKS pour le DCA.
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-cluster-agent --from-literal=token='<ThirtyX2XcharactersXlongXtoken>'
Vous pouvez également modifier la valeur du secret dans le fichier agent-secret.yaml
qui se trouve dans le répertoire manifest/cluster-agent ou le créer avec :
kubectl create -f Dockerfiles/manifests/cluster-agent/agent-secret.yaml
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.
agent-services.yaml
: le manifeste du service de l’Agent de clustersecrets.yaml
: le secret contenant la clé d’API Datadogcluster-agent-deployment.yaml
: le manifeste de l’Agent de clusterinstall_info-configmap.yaml
: installer la Configmap InfoDans le manifeste secrets.yaml
, remplacez PUT_YOUR_BASE64_ENCODED_API_KEY_HERE
par votre clé d’API Datadog encodée en base64 :
echo -n '<Your API key>' | base64
Dans le manifeste cluster-agent-deployment.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 agent-services.yaml
Exécutez : kubectl apply -f secrets.yaml
Exécutez : kubectl apply -f install_info-configmap.yaml
Enfin, déployez l’Agent de cluster Datadog : kubectl apply -f cluster-agent-deployment.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-agent-cluster-agent 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 agent-rbac.yaml pour que l’Agent de cluster 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 agent-rbac.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 agent-rbac.yaml
Téléchargez le manifeste daemonset.yaml.
Dans le manifeste daemonset.yaml
, remplacez <DD_SITE>
par le site Datadog que vous utilisez, p. ex. datadoghq.com
ou datadoghq.eu
. Cette valeur correspond par défaut à datadoghq.com
.
Dans le manifeste daemonset.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.
Dans le manifeste daemonset.yaml
, vérifiez que la variable d’environnement DD_CLUSTER_AGENT_ENABLED
est bien définie sur true
.
(Facultatif) Si votre cluster comprend un seul environnement, vous pouvez également définir la variable <DD_ENV>
dans agent.yaml
.
Créez le DaemonSet avec cette commande : kubectl apply -f daemonset.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:
Sur cette page