Configuration de l'Operator
Toutes les options de configuration
Le tableau suivant répertorie les paramètres configurables pour la ressource DatadogAgent
. Par exemple, si vous souhaitez définir une valeur pour agent.image.name
, votre ressource DatadogAgent
ressemblera à ceci :
apiVersion: datadoghq.com/v1alpha1
kind: DatadogAgent
metadata:
name: datadog
spec:
agent:
image:
name: "gcr.io/datadoghq/agent:latest"
agent.additionalAnnotations
AdditionalAnnotations
permet de spécifier des annotations qui seront ajoutées aux pods de l’Agent.agent.additionalLabels
AdditionalLabels
permet de spécifier des étiquettes afin de les ajouter aux pods de l’exécuteur de checks de cluster.agent.apm.enabled
- Permet d’activer l’APM et le tracing sur le port 8126. Consultez la documentation de Datadog relative à Docker.
agent.apm.env
- L’Agent Datadog prend en charge de nombreuses variables d’environnement.
agent.apm.hostPort
- Numéro du port à exposer sur le host. Lorsque cette option spécifiée, elle doit correspondre à un numéro de port valide, compris entre 0 et 65536. Si
HostNetwork
est spécifié, la valeur doit correspondre à ContainerPort
. La plupart des conteneurs ne nécessitent pas ce paramètre. agent.apm.resources.limits
- Spécifie la quantité maximale de ressources de calcul autorisées. Pour en savoir plus, consultez la documentation Kubernetes (en anglais).
agent.apm.resources.requests
Requests
spécifie la quantité minimale de ressources de calcul requises. Si requests
n’est pas défini pour un conteneur, la valeur limits
est utilisée si celle-ci est explicitement définie. Sinon, une valeur définie au niveau de l’implémentation est utilisée. Pour en savoir plus, consultez la documentation Kubernetes (en anglais).agent.config.checksd.configMapName
- Nom d’une ConfigMap utilisée pour monter un répertoire.
agent.config.collectEvents
- Permet de démarrer la collecte d’événements via l’API Kubernetes. Consultez la documentation relative à la collecte d’événements.
agent.config.confd.configMapName
- Nom d’une ConfigMap utilisée pour monter un répertoire.
agent.config.criSocket.criSocketPath
- Chemin du socket d’exécution du conteneur (s’il est différent de Docker). Ce paramètre est pris en charge à partir de l’Agent 6.6.0.
agent.config.criSocket.dockerSocketPath
- Chemin du socket d’exécution Docker.
agent.config.ddUrl
- Host du serveur d’admission Datadog vers lequel envoyer les données de l’Agent. Définissez ce paramètre uniquement si vous souhaitez que l’Agent envoie ses données vers une URL personnalisée. Remplace le paramètre de site défini dans
site
. agent.config.dogstatsd.dogstatsdOriginDetection
- Active la détection de l’origine pour le tagging des conteneurs. Consultez la documentation relative à la détection de l’origine pour les sockets Unix.
agent.config.dogstatsd.useDogStatsDSocketVolume
- Active DogStatsD sur un socket de domaine Unix. Consultez la documentation relative aux sockets Unix.
agent.config.env
- L’Agent Datadog prend en charge de nombreuses variables d’environnement.
agent.config.hostPort
- Numéro du port à exposer sur le host. Lorsque cette option spécifiée, elle doit correspondre à un numéro de port valide, compris entre 0 et 65536. Si
HostNetwork
est spécifié, la valeur doit correspondre à ContainerPort
. La plupart des conteneurs ne nécessitent pas ce paramètre. agent.config.leaderElection
- Active le mécanisme d’élection de leader pour la collecte d’événements.
agent.config.logLevel
- Définit le niveau de détail de la journalisation. Les niveaux de log valides sont les suivants :
trace
, debug
, info
, warn
, error
, critical
et off
. agent.config.podAnnotationsAsTags
- Permet de spécifier un mappage d’annotations Kubernetes avec des tags Datadog.
<ANNOTATIONS_KUBERNETES>: <CLÉ_TAG_DATADOG>
agent.config.podLabelsAsTags
- Permet de spécifier un mappage d’étiquettes Kubernetes avec des tags Datadog.
<ÉTIQUETTE_KUBERNETES>: <CLÉ_TAG_DATADOG>
agent.config.resources.limits
- Spécifie la quantité maximale de ressources de calcul autorisées. Consultez la documentation Kubernetes (en anglais).
agent.config.resources.requests
- Spécifie la quantité minimale de ressources de calcul requises. Si l’option
requests
n’est pas définie pour un conteneur, la valeur limits
est utilisée si celle-ci est explicitement définie. Sinon, une valeur définie au niveau de l’implémentation est utilisée. Consultez la documentation Kubernetes (en anglais). agent.config.securityContext.allowPrivilegeEscalation
- Permet de spécifier si un processus peut obtenir ou non plus de privilèges que son processus parent. Ce booléen détermine si le flag
no_new_privs
est défini ou non sur le processus du conteneur. AllowPrivilegeEscalation
est toujours défini sur true lorsque le conteneur est exécuté en mode Privileged
et dispose de l’autorisation CAP_SYS_ADMIN
. agent.config.securityContext.capabilities.add
- Capacités ajoutées.
agent.config.securityContext.capabilities.drop
- Capacités supprimées.
agent.config.securityContext.privileged
- Permet d’exécuter le conteneur en mode Privileged. Les processus dans les conteneurs exécutés en mode Privileged sont essentiellement équivalents à root sur le host. Valeur par défaut :
false
. agent.config.securityContext.procMount
procMount
spécifie le type de montage proc à utiliser pour les conteneurs. La valeur par défaut DefaultProcMount
utilise les valeurs par défaut du runtime de conteneur pour les chemins en lecture seule et les chemins masqués. Ce paramètre nécessite que le feature flag ProcMountType
soit activé.agent.config.securityContext.readOnlyRootFilesystem
- Spécifie si ce conteneur possède un système de fichiers root en lecture seule. Valeur par défaut :
false
. agent.config.securityContext.runAsGroup
- Le GID utilisé pour exécuter le point d’entrée du processus du conteneur. Utilise la valeur par défaut du runtime s’il n’est pas défini. Peut également être défini dans
PodSecurityContext
. Si ce paramètre est défini à la fois dans SecurityContext
et PodSecurityContext
, la valeur indiquée dans SecurityContext
a la priorité. agent.config.securityContext.runAsNonRoot
- Indique que le conteneur doit être exécuté en tant qu’utilisateur non-root. Si ce paramètre est défini sur true, le Kubelet valide l’image lors de l’exécution pour s’assurer que le conteneur n’est pas exécuté en tant qu’UID 0 (root) et pour empêcher le démarrage du conteneur dans le cas contraire. Si ce paramètre n’est pas défini ou s’il est défini sur false, aucune validation de ce type n’est effectuée. Peut également être défini dans
PodSecurityContext
. Si ce paramètre est défini dans SecurityContext
et PodSecurityContext
, la valeur indiquée dans SecurityContext
a la priorité. agent.config.securityContext.runAsUser
- L’UID utilisé pour exécuter le point d’entrée du processus du conteneur. Si ce paramètre n’est pas spécifié, l’utilisateur indiqué dans les métadonnées d’image est utilisé par défaut. Peut également être défini dans
PodSecurityContext
. Si ce paramètre est défini dans SecurityContext
et PodSecurityContext
, la valeur indiquée dans SecurityContext
a la priorité. agent.config.securityContext.seLinuxOptions.level
- Étiquette de niveau SELinux qui s’applique au conteneur.
agent.config.securityContext.seLinuxOptions.role
- Étiquette de rôle SELinux qui s’applique au conteneur.
agent.config.securityContext.seLinuxOptions.type
- Étiquette de type SELinux qui s’applique au conteneur.
agent.config.securityContext.seLinuxOptions.user
- Étiquette d’utilisateur SELinux qui s’applique au conteneur.
agent.config.securityContext.windowsOptions.gmsaCredentialSpec
GMSACredentialSpec
est l’emplacement au niveau duquel le webhook d’admission GMSA intègre le contenu de la spécification d’identifiant GMSA spécifiée via le champ GMSACredentialSpecName
. Il s’agit d’un champ de niveau alpha qui est traité uniquement par les serveurs qui activent le feature flag WindowsGMSA.agent.config.securityContext.windowsOptions.gmsaCredentialSpecName
GMSACredentialSpecName
est le nom de la spécification d’identifiant GMSA à utiliser. Il s’agit d’un champ de niveau alpha qui est traité uniquement par les serveurs qui activent le feature flag WindowsGMSA.agent.config.securityContext.windowsOptions.runAsUserName
UserName
dans Windows à utiliser pour exécuter le point d’entrée du processus du conteneur. Si ce paramètre n’est pas spécifié, l’utilisateur indiqué dans les métadonnées de l’image est utilisé par défaut. Peut également être défini dans PodSecurityContext
. Si ce paramètre est défini dans SecurityContext
et PodSecurityContext
, la valeur indiquée dans SecurityContext
a la priorité. Il s’agit d’un champ de niveau bêta qui peut être désactivé avec le feature flag WindowsRunAsUserName
.agent.config.tags
- Liste de tags à associer à chaque métrique, événement et check de service recueilli par cet Agent. Consultez la documentation relative au tagging.
agent.config.tolerations
- Permet de spécifier les tolérances du pod de l’Agent.
agent.config.volumeMounts
- Permet de spécifier des montages de volume supplémentaires dans le conteneur de l’Agent Datadog.
agent.config.volumes
- Permet de spécifier des volumes supplémentaires dans le conteneur de l’Agent Datadog.
agent.customConfig.configData
- Correspond au contenu du fichier de configuration.
agent.customConfig.configMap.fileKey
- Correspond à la clé utilisée dans ConfigMap.Data pour stocker le contenu du fichier de configuration.
agent.customConfig.configMap.name
- Nom de la ConfigMap.
agent.daemonsetName
- Nom du DaemonSet à créer ou à partir duquel effectuer une migration.
agent.deploymentStrategy.canary.duration
:
agent.deploymentStrategy.canary.paused
:
agent.deploymentStrategy.canary.replicas
:
agent.deploymentStrategy.reconcileFrequency
- Fréquence de rapprochement des valeurs ExtendDaemonSet.
agent.deploymentStrategy.rollingUpdate.maxParallelPodCreation
- Nombre maximum de pods créés en parallèle. Valeur par défaut : 250.
agent.deploymentStrategy.rollingUpdate.maxPodSchedulerFailure
maxPodSchedulerFailure
est le nombre maximum de pods planifiés sur son nœud en raison d’une défaillance du planificateur : limitation des ressources. La valeur peut être un nombre absolu (par exemple : 5) ou un pourcentage du nombre total de pods DaemonSet au début de la mise à jour (par exemple : 10 %). Absolu.agent.deploymentStrategy.rollingUpdate.maxUnavailable
- Nombre maximum de pods DaemonSet qui peuvent être indisponibles pendant la mise à jour. La valeur peut être un nombre absolu (par exemple : 5) ou un pourcentage du nombre total de pods DaemonSet au début de la mise à jour (par exemple : 10 %). Le nombre absolu est calculé à partir du pourcentage en arrondissant le résultat au chiffre supérieur. Cette valeur ne peut pas être égale à 0. Valeur par défaut : 1.
agent.deploymentStrategy.rollingUpdate.slowStartAdditiveIncrease
- La valeur peut être un nombre absolu (par exemple : 5) ou un pourcentage du nombre total de pods DaemonSet au début de la mise à jour (par exemple : 10 %). Valeur par défaut : 5.
agent.deploymentStrategy.rollingUpdate.slowStartIntervalDuration
- Durée de l’intervalle. Valeur par défaut : 1 min.
agent.deploymentStrategy.updateStrategyType
- Stratégie de mise à jour utilisée pour le DaemonSet.
agent.dnsConfig.nameservers
- Liste d’adresses IP des serveurs de noms DNS. Ces valeurs viennent s’ajouter aux serveurs de noms de base générés à partir de
dnsPolicy
. Les serveurs de noms en double sont supprimés. agent.dnsConfig.options
- Liste d’options de résolution de DNS. Ces valeurs sont fusionnées avec les options de base générées à partir de
dnsPolicy
. Les entrées en double sont supprimées. Les options de résolution indiquées dans options
remplacent celles qui figurent dans la stratégie dnsPolicy
de base. agent.dnsConfig.searches
- Liste de domaines de recherche DNS pour la recherche de hostname. Ces valeurs viennent s’ajouter aux chemins de recherche de base générés à partir de
dnsPolicy
. Les chemins de recherche en double sont supprimés. agent.dnsPolicy
- Définit la stratégie DNS pour le pod. Valeur par défaut :
ClusterFirst
. Valeurs autorisées : ClusterFirstWithHostNet
, ClusterFirst
, Default
ou None
. Les paramètres DNS indiqués dans dnsConfig
sont fusionnés avec la stratégie sélectionnée via dnsPolicy
. Pour définir des options DNS avec hostNetwork
, vous devez définir explicitement dnsPolicy
sur ClusterFirstWithHostNet
. agent.env
- Variables d’environnement pour tous les Agents Datadog. Consultez la documentation relative aux variables d’environnement Docker.
agent.hostNetwork
- Réseau host requis pour ce pod. Utiliser l’espace de nommage réseau du host. Si cette option est définie, les ports qui sont utilisés doivent être indiqués. Valeur par défaut :
false
. agent.hostPID
- Utiliser l’espace de nommage PID du host. Facultatif. Valeur par défaut :
false
. agent.image.name
- Définit l’image à utiliser. Utilisez
gcr.io/datadoghq/agent:latest
pour l’Agent Datadog 6, gcr.io/datadoghq/dogstatsd:latest
pour la version autonome de DogStatsD ou gcr.io/datadoghq/cluster-agent:latest
pour l’Agent de cluster Datadog. agent.image.pullPolicy
- Stratégie de pull Kubernetes. Utilisez
Always
, Never
ou IfNotPresent
. agent.image.pullSecrets
- Indique les identifiants de registre Docker. Consultez la documentation Kubernetes (en anglais).
agent.log.containerCollectUsingFiles
- Recueillir les logs à partir des fichiers dans
/var/log/pods
au lieu d’utiliser l’API du runtime de conteneur. Il s’agit généralement de la méthode la plus efficace pour recueillir des logs. Consultez la documentation relative à la collecte de logs. Valeur par défaut : true
. agent.log.containerLogsPath
- Autorise la collecte de logs à partir du chemin des logs de conteneur. Définissez un autre chemin si vous n’utilisez pas le runtime Docker. Consultez la documentation relative à Kubernetes. Valeur par défaut :
/var/lib/docker/containers
. agent.log.enabled
- Permet d’activer la collecte de logs avec l’Agent Datadog. Consultez la documentation relative à la collecte de logs.
agent.log.logsConfigContainerCollectAll
- Permet d’activer la collecte de logs pour tous les conteneurs. Consultez la documentation relative à la collecte de logs.
agent.log.openFilesLimit
- Définit le nombre maximal de fichiers de log que l’Agent Datadog surveille. L’augmentation de cette limite peut entraîner une augmentation de la consommation de ressources de l’Agent. Consultez la documentation relative à la collecte de logs. Valeur par défaut : 100.
agent.log.podLogsPath
- Permet d’activer la collecte de logs à partir du chemin des logs de pod. Valeur par défaut :
/var/log/pods
. agent.log.tempStoragePath
- Ce chemin (toujours monté à partir du host) est utilisé par l’Agent Datadog pour stocker des informations sur les fichiers de log traités. En cas de redémarrage de l’Agent Datadog, il vous permet de démarrer la surveillance des fichiers de log avec le bon décalage. Valeur par défaut :
/var/lib/datadog-agent/logs
. agent.priorityClassName
- Si ce paramètre est spécifié, il indique la priorité du pod.
system-node-critical
et system-cluster-critical
sont deux mots-clés spéciaux qui indiquent les niveaux de priorité les plus élevés, le premier étant le plus élevé. Tout autre nom doit être défini en créant un objet PriorityClass
avec ce nom. Si ce paramètre n’est pas spécifié, la priorité du pod est définie sur la valeur par défaut ou sur zéro s’il n’y a pas de valeur par défaut. agent.process.enabled
- Permet d’activer la surveillance des live processes. Remarque :
/etc/passwd
est automatiquement monté pour permettre la résolution des noms d’utilisateur. Consultez la documentation relative aux processus. agent.process.env
- L’Agent Datadog prend en charge de nombreuses variables d’environnement.
agent.process.resources.limits
- Spécifie la quantité maximale de ressources de calcul autorisées. Consultez la documentation Kubernetes (en anglais).
agent.process.resources.requests
- Spécifie la quantité minimale de ressources de calcul requises. Si l’option
requests
n’est pas définie pour un conteneur, la valeur limits
est utilisée si celle-ci est explicitement définie. Sinon, une valeur définie au niveau de l’implémentation est utilisée. Consultez la documentation Kubernetes (en anglais). agent.rbac.create
- Utilisé pour configurer la création de ressources RBAC.
agent.rbac.serviceAccountName
- Utilisé pour configurer le nom du compte de service à utiliser. Ignoré si la valeur du champ
Create
est définie sur true. agent.systemProbe.appArmorProfileName
- Spécifie un profil AppArmor.
agent.systemProbe.bpfDebugEnabled
- Journalisation de debugging du kernel.
agent.systemProbe.conntrackEnabled
- Permet à l’Agent system-probe de se connecter au sous-système netlink/conntrack afin d’ajouter des informations NAT aux données de connexion. Consultez la documentation Conntrack (en anglais).
agent.systemProbe.debugPort
- Spécifie le port à utiliser pour exposer pprof et expvar pour l’Agent system-probe.
agent.systemProbe.enabled
- Permet d’activer la surveillance des live processes. Remarque :
/etc/passwd
est automatiquement monté pour permettre la résolution des noms d’utilisateur. Consultez la documentation relative aux processus. agent.systemProbe.env
- Le SystemProbe Datadog prend en charge de nombreuses variables d’environnement.
agent.systemProbe.resources.limits
- Spécifie la quantité maximale de ressources de calcul autorisées. Consultez la documentation Kubernetes (en anglais).
agent.systemProbe.resources.requests
- Spécifie la quantité minimale de ressources de calcul requises. Si l’option
requests
n’est pas définie pour un conteneur, la valeur limits
est utilisée si celle-ci est explicitement définie. Sinon, une valeur définie au niveau de l’implémentation est utilisée. Consultez la documentation Kubernetes (en anglais). agent.systemProbe.secCompCustomProfileConfigMap
- Spécifie une ConfigMap pré-existante qui contient un profil seccomp personnalisé.
agent.systemProbe.secCompProfileName
- Spécifie un profil seccomp.
agent.systemProbe.secCompRootPath
- Spécifie le répertoire root du profil seccomp.
agent.systemProbe.securityContext.allowPrivilegeEscalation
- Permet de spécifier si un processus peut obtenir ou non plus de privilèges que son processus parent. Ce booléen détermine si le flag
no_new_privs
est défini ou non sur le processus du conteneur. AllowPrivilegeEscalation
est toujours défini sur true lorsque le conteneur : 1) est exécuté en mode Privileged
2) dispose de l’autorisation CAP_SYS_ADMIN
. agent.systemProbe.securityContext.capabilities.add
- Capacités ajoutées.
agent.systemProbe.securityContext.capabilities.drop
- Capacités supprimées.
agent.systemProbe.securityContext.privileged
- Permet d’exécuter le conteneur en mode Privileged. Les processus dans les conteneurs exécutés en mode Privileged sont essentiellement équivalents à root sur le host. Valeur par défaut : false.
agent.systemProbe.securityContext.procMount
- Spécifie le type de montage proc à utiliser pour les conteneurs. La valeur par défaut
DefaultProcMount
utilise les valeurs par défaut du runtime de conteneur pour les chemins en lecture seule et les chemins masqués. Ce paramètre nécessite que le feature flag ProcMountType
soit activé. agent.systemProbe.securityContext.readOnlyRootFilesystem
- Spécifie si ce conteneur possède un système de fichiers root en lecture seule. Valeur par défaut :
false
. agent.systemProbe.securityContext.runAsGroup
- Le GID utilisé pour exécuter le point d’entrée du processus du conteneur. Utilise la valeur par défaut du runtime s’il n’est pas défini. Peut également être défini dans
PodSecurityContext
. Si ce paramètre est défini à la fois dans SecurityContext
et PodSecurityContext
, la valeur indiquée dans SecurityContext
a la priorité. agent.systemProbe.securityContext.runAsNonRoot
- Indique que le conteneur doit être exécuté en tant qu’utilisateur non-root. Si ce paramètre est défini sur true, le Kubelet valide l’image lors de l’exécution pour s’assurer que le conteneur n’est pas exécuté en tant qu’UID 0 (root) et pour empêcher le démarrage du conteneur dans le cas contraire. Si ce paramètre n’est pas défini ou s’il est défini sur false, aucune validation de ce type n’est effectuée. Peut également être défini dans
PodSecurityContext
. Si ce paramètre est défini dans SecurityContext
et PodSecurityContext
, la valeur indiquée dans SecurityContext
a la priorité. agent.systemProbe.securityContext.runAsUser
- L’UID utilisé pour exécuter le point d’entrée du processus du conteneur. Si ce paramètre n’est pas spécifié, l’utilisateur indiqué dans les métadonnées d’image est utilisé par défaut. Peut également être défini dans
PodSecurityContext
. Si ce paramètre est défini dans SecurityContext
et PodSecurityContext
, la valeur indiquée dans SecurityContext
a la priorité. agent.systemProbe.securityContext.seLinuxOptions.level
- Étiquette de niveau SELinux qui s’applique au conteneur.
agent.systemProbe.securityContext.seLinuxOptions.role
- Étiquette de rôle SELinux qui s’applique au conteneur.
agent.systemProbe.securityContext.seLinuxOptions.type
- Étiquette de type SELinux qui s’applique au conteneur.
agent.systemProbe.securityContext.seLinuxOptions.user
- Étiquette d’utilisateur SELinux qui s’applique au conteneur.
agent.systemProbe.securityContext.windowsOptions.gmsaCredentialSpec
GMSACredentialSpec
est l’emplacement au niveau duquel le webhook d’admission GMSA intègre le contenu de la spécification d’identifiant GMSA spécifiée via le champ GMSACredentialSpecName
. Il s’agit d’un champ de niveau alpha qui est traité uniquement par les serveurs qui activent le feature flag WindowsGMSA.agent.systemProbe.securityContext.windowsOptions.gmsaCredentialSpecName
GMSACredentialSpecName
est le nom de la spécification d’identifiant GMSA à utiliser. Il s’agit d’un champ de niveau alpha qui est traité uniquement par les serveurs qui activent le feature flag WindowsGMSA.agent.systemProbe.securityContext.windowsOptions.runAsUserName
- Le
UserName
dans Windows à utiliser pour exécuter le point d’entrée du processus du conteneur. Si ce paramètre n’est pas spécifié, l’utilisateur indiqué dans les métadonnées de l’image est utilisé par défaut. Peut également être défini dans PodSecurityContext
. Si ce paramètre est défini dans SecurityContext
et PodSecurityContext
, la valeur indiquée dans SecurityContext
a la priorité. Il s’agit d’un champ de niveau bêta qui peut être désactivé avec le feature flag WindowsRunAsUserName
. agent.useExtendedDaemonset
- Permet d’utiliser ExtendedDaemonset pour le déploiement de l’Agent. Valeur par défaut : false.
clusterAgent.additionalAnnotations
AdditionalAnnotations
permet de spécifier des annotations afin de les ajouter aux pods de l’Agent de cluster.clusterAgent.additionalLabels
AdditionalLabels
permet de spécifier des étiquettes afin de les ajouter aux pods de l’exécuteur de checks de cluster.clusterAgent.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Le planificateur préfère planifier des pods sur les nœuds qui satisfont les expressions d’affinité spécifiées via ce champ, mais peut choisir un nœud qui ne respecte pas une ou plusieurs de ces expressions. Le nœud le plus privilégié est celui présentant la somme de pondérations la plus élevée. Pour chaque nœud répondant à toutes les exigences de planification (requête de ressource et expressions d’affinité
requiredDuringScheduling
), une somme est calculée en itérant les éléments de ce champ et en ajoutant du « poids » à la somme si le nœud correspond aux valeurs matchExpressions
pertinentes. Le ou les nœuds présentant la somme la plus élevée sont les plus privilégiés. clusterAgent.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
- Obligatoire. Liste de termes de sélecteur de nœud. Les termes sont liés par l’opérateur
OR
. clusterAgent.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Le planificateur préfère planifier des pods sur les nœuds qui satisfont les expressions d’affinité spécifiées via ce champ, mais peut choisir un nœud qui ne respecte pas une ou plusieurs de ces expressions. Le nœud le plus privilégié est celui présentant la somme de pondérations la plus élevée. Pour chaque nœud répondant à toutes les exigences de planification (comme la requête de ressource et les expressions d’affinité
requiredDuringScheduling
), une somme est calculée en itérant les éléments de ce champ et en ajoutant du « poids » à la somme si le nœud comprend des pods correspondant au podAffinityTerm
pertinent. Le ou les nœuds présentant la somme la plus élevée sont les plus privilégiés. clusterAgent.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Si les exigences d’affinité spécifiées via ce champ ne sont pas respectées au moment de la planification, le pod n’est pas planifié sur le nœud. Si les exigences d’affinité spécifiées via ce champ cessent d’être respectées à un certain moment lors de l’exécution du pod (par exemple, en raison d’une mise à jour d’étiquette de pod), le système peut tenter ou non de retirer le pod de son nœud. Lorsque plusieurs éléments sont présents, les listes des nœuds correspondant à chaque
podAffinityTerm
sont croisées : tous les termes doivent donc être satisfaits. clusterAgent.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Le planificateur préfère planifier des pods sur les nœuds qui satisfont les expressions d’anti-affinité spécifiées via ce champ, mais peut choisir un nœud qui ne respecte pas une ou plusieurs de ces expressions. Le nœud le plus privilégié est celui présentant la somme de pondérations la plus élevée. Pour chaque nœud répondant à toutes les exigences de planification (requête de ressource et expressions d’anti-affinité
requiredDuringScheduling
), une somme est calculée en itérant les éléments de ce champ et en ajoutant du « poids » à la somme si le nœud comprend des pods correspondant au podAffinityTerm
pertinent. Le ou les nœuds présentant la somme la plus élevée sont les plus privilégiés. clusterAgent.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Si les exigences d’anti-affinité spécifiées via ce champ ne sont pas respectées au moment de la planification, le pod n’est pas planifié sur le nœud. Si les exigences d’anti-affinité spécifiées via ce champ cessent d’être respectées à un certain moment lors de l’exécution du pod (par exemple, en raison d’une mise à jour d’étiquette de pod), le système peut tenter ou non de retirer le pod de son nœud. Lorsque plusieurs éléments sont présents, les listes des nœuds correspondant à chaque podAffinityTerm sont croisées : tous les termes doivent donc être satisfaits.
clusterAgent.config.admissionController.enabled
- Active le contrôleur d’admission pour pouvoir injecter automatiquement la configuration de l’APM/DogStatsD et les tags standard (env, service, version) dans vos pods.
clusterAgent.config.admissionController.mutateUnlabelled
- Active l’injection de configuration sans que l’étiquette de pod
admission.datadoghq.com/enabled="true"
soit définie. clusterAgent.config.admissionController.serviceName
- Correspond au nom de service du webhook.
clusterAgent.config.clusterChecksEnabled
- Active la fonctionnalité de checks de cluster et de checks d’endpoint sur l’Agent de cluster et le DaemonSet. Consultez la documentation sur les checks de cluster. La fonction Autodiscovery via des annotations de service Kube est activée automatiquement.
clusterAgent.config.confd.configMapName
- Nom d’une ConfigMap utilisée pour monter un répertoire.
clusterAgent.config.env
- L’Agent Datadog prend en charge de nombreuses variables d’environnement.
clusterAgent.config.externalMetrics.enabled
- Active le
metricsProvider
pour pouvoir effectuer une mise à l’échelle en fonction des métriques dans Datadog. clusterAgent.config.externalMetrics.port
- Permet de configurer le port du service de métriques externes
metricsProvider
. clusterAgent.config.externalMetrics.useDatadogMetrics
- Active l’utilisation de la CRD DatadogMetrics (qui permet la mise à l’échelle en fonction de requêtes arbitraires).
clusterAgent.config.logLevel
- Définit le niveau de détail de la journalisation. Les niveaux de log valides sont les suivants :
trace
, debug
, info
, warn
, error
, critical
et off
. clusterAgent.config.resources.limits
- Spécifie la quantité maximale de ressources de calcul autorisées. Consultez la documentation Kubernetes (en anglais).
clusterAgent.config.resources.requests
- Spécifie la quantité minimale de ressources de calcul requises. Si l’option
requests
n’est pas définie pour un conteneur, la valeur limits
est utilisée si celle-ci est explicitement définie. Sinon, une valeur définie au niveau de l’implémentation est utilisée. Consultez la documentation Kubernetes (en anglais). clusterAgent.config.volumeMounts
- Spécifie des montages de volume supplémentaires dans le conteneur de l’Agent de cluster Datadog.
clusterAgent.config.volumes
- Spécifie des volumes supplémentaires dans le conteneur de l’Agent de cluster Datadog.
clusterAgent.customConfig.configData
- Correspond au contenu du fichier de configuration.
clusterAgent.customConfig.configMap.fileKey
- Correspond à la clé utilisée dans
ConfigMap.Data
pour stocker le contenu du fichier de configuration. clusterAgent.customConfig.configMap.name
- Nom de la ConfigMap.
clusterAgent.deploymentName
- Nom du déploiement de l’Agent de cluster à créer ou à partir duquel effectuer une migration.
clusterAgent.image.name
- Définit l’image à utiliser. Utilisez
gcr.io/datadoghq/agent:latest
pour l’Agent Datadog 6, gcr.io/datadoghq/dogstatsd:latest
pour la version autonome de DogStatsD ou gcr.io/datadoghq/cluster-agent:latest
pour l’Agent de cluster Datadog. clusterAgent.image.pullPolicy
- Stratégie de pull Kubernetes. Utilisez
Always
, Never
ou IfNotPresent
. clusterAgent.image.pullSecrets
- Spécifie les identifiants de registre Docker. Consultez la documentation Kubernetes (en anglais).
clusterAgent.nodeSelector
- Sélecteur qui doit être défini sur true pour que le pod soit compatible avec le nœud. Il doit correspondre aux étiquettes d’un nœud pour que le pod soit planifié sur ce nœud. Consultez la documentation Kubernetes (en anglais).
clusterAgent.priorityClassName
- Si ce paramètre est spécifié, il indique la priorité du pod.
system-node-critical
et system-cluster-critical
sont deux mots-clés spéciaux qui indiquent les niveaux de priorité les plus élevés, le premier étant le plus élevé. Tout autre nom doit être défini en créant un objet PriorityClass
avec ce nom. Si ce paramètre n’est pas spécifié, la priorité du pod est définie sur la valeur par défaut ou sur zéro s’il n’y a pas de valeur par défaut. clusterAgent.rbac.create
- Utilisé pour configurer la création de ressources RBAC.
clusterAgent.rbac.serviceAccountName
- Utilisé pour configurer le nom du compte de service à utiliser. Ignoré si la valeur du champ
Create
est définie sur true. clusterAgent.replicas
- Nombre de réplicas de l’Agent de cluster.
clusterAgent.tolerations
- Permet de spécifier les tolérances du pod de l’Agent de cluster.
clusterChecksRunner.additionalAnnotations
- Spécifie des annotations qui seront ajoutées aux pods de l’exécuteur de checks de cluster.
clusterChecksRunner.additionalLabels
- Spécifie des étiquettes qui seront ajoutées aux pods de l’exécuteur de checks de cluster.
clusterChecksRunner.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Le planificateur préfère planifier des pods sur les nœuds qui satisfont les expressions d’affinité spécifiées via ce champ, mais peut choisir un nœud qui ne respecte pas une ou plusieurs de ces expressions. Le nœud le plus privilégié est celui présentant la somme de pondérations la plus élevée. Pour chaque nœud répondant à toutes les exigences de planification (requête de ressource et expressions d’affinité
requiredDuringScheduling
), une somme est calculée en itérant les éléments de ce champ et en ajoutant du « poids » à la somme si le nœud correspond aux valeurs matchExpressions pertinentes. Le ou les nœuds présentant la somme la plus élevée sont les plus privilégiés. clusterChecksRunner.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTerms
- Obligatoire. Liste de termes de sélecteur de nœud. Les termes sont liés par l’opérateur
OR
. clusterChecksRunner.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Le planificateur préfère planifier des pods sur les nœuds qui satisfont les expressions d’affinité spécifiées via ce champ, mais peut choisir un nœud qui ne respecte pas une ou plusieurs de ces expressions. Le nœud le plus privilégié est celui présentant la somme de pondérations la plus élevée. Pour chaque nœud répondant à toutes les exigences de planification (requête de ressource et expressions d’affinité
requiredDuringScheduling
), une somme est calculée en itérant les éléments de ce champ et en ajoutant du « poids » à la somme si le nœud comprend des pods correspondant au podAffinityTerm
pertinent. Le ou les nœuds présentant la somme la plus élevée sont les plus privilégiés. clusterChecksRunner.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Si les exigences d’affinité spécifiées via ce champ ne sont pas respectées au moment de la planification, le pod n’est pas planifié sur le nœud. Si les exigences d’affinité spécifiées via ce champ cessent d’être respectées à un certain moment lors de l’exécution du pod (par exemple, en raison d’une mise à jour d’étiquette de pod), le système peut tenter ou non de retirer le pod de son nœud. Lorsque plusieurs éléments sont présents, les listes des nœuds correspondant à chaque
podAffinityTerm
sont croisées : tous les termes doivent donc être satisfaits. clusterChecksRunner.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution
- Le planificateur préfère planifier des pods sur les nœuds qui satisfont les expressions d’anti-affinité spécifiées via ce champ, mais peut choisir un nœud qui ne respecte pas une ou plusieurs de ces expressions. Le nœud le plus privilégié est celui présentant la somme de pondérations la plus élevée. Pour chaque nœud répondant à toutes les exigences de planification (requête de ressource et expressions d’anti-affinité
requiredDuringScheduling
), une somme est calculée en itérant les éléments de ce champ et en ajoutant du « poids » à la somme si le nœud comprend des pods correspondant au podAffinityTerm
pertinent. Le ou les nœuds présentant la somme la plus élevée sont les plus privilégiés. clusterChecksRunner.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecution
- Si les exigences d’anti-affinité spécifiées via ce champ ne sont pas respectées au moment de la planification, le pod n’est pas planifié sur le nœud. Si les exigences d’anti-affinité spécifiées via ce champ cessent d’être respectées à un certain moment lors de l’exécution du pod (par exemple, en raison d’une mise à jour d’étiquette de pod), le système peut tenter ou non de retirer le pod de son nœud. Lorsque plusieurs éléments sont présents, les listes des nœuds correspondant à chaque podAffinityTerm sont croisées : tous les termes doivent donc être satisfaits.
clusterChecksRunner.config.env
- L’Agent Datadog prend en charge de nombreuses variables d’environnement.
clusterChecksRunner.config.logLevel
- Définit le niveau de détail de la journalisation. Les niveaux de log valides sont les suivants :
trace
, debug
, info
, warn
, error
, critical
et off
. clusterChecksRunner.config.resources.limits
- Spécifie la quantité maximale de ressources de calcul autorisées. Consultez la documentation Kubernetes.
clusterChecksRunner.config.resources.requests
- Spécifie la quantité minimale de ressources de calcul requises. Si l’option
requests
n’est pas définie pour un conteneur, la valeur limits
est utilisée si celle-ci est explicitement définie. Sinon, une valeur définie au niveau de l’implémentation est utilisée. Consultez la documentation Kubernetes (en anglais). clusterChecksRunner.config.volumeMounts
- Spécifie des montages de volume supplémentaires dans le conteneur de l’exécuteur de checks de cluster Datadog.
clusterChecksRunner.config.volumes
- Spécifie des volumes supplémentaires dans le conteneur de l’exécuteur de checks de cluster Datadog.
clusterChecksRunner.customConfig.configData
- Correspond au contenu du fichier de configuration.
clusterChecksRunner.customConfig.configMap.fileKey
- Correspond à la clé utilisée dans
ConfigMap.Data
pour stocker le contenu du fichier de configuration. clusterChecksRunner.customConfig.configMap.name
- Nom de la ConfigMap.
clusterChecksRunner.deploymentName
- Nom du déploiement de checks de cluster à créer ou à partir duquel effectuer une migration.
clusterChecksRunner.image.name
- Définit l’image à utiliser. Utilisez
gcr.io/datadoghq/agent:latest
pour l’Agent Datadog 6, gcr.io/datadoghq/dogstatsd:latest
pour la version autonome de DogStatsD et gcr.io/datadoghq/cluster-agent:latest
pour l’Agent de cluster Datadog. clusterChecksRunner.image.pullPolicy
- Stratégie de pull Kubernetes. Utilisez
Always
, Never
ou IfNotPresent
. clusterChecksRunner.image.pullSecrets
- Il est possible de spécifier des identifiants de registre Docker. Consultez la documentation Kubernetes (en anglais).
clusterChecksRunner.nodeSelector
- Sélecteur qui doit être défini sur true pour que le pod soit compatible avec le nœud. Il doit correspondre aux étiquettes d’un nœud pour que le pod soit planifié sur ce nœud. Consultez la documentation Kubernetes (en anglais).
clusterChecksRunner.priorityClassName
- Si ce paramètre est spécifié, il indique la priorité du pod.
system-node-critical
et system-cluster-critical
sont deux mots-clés spéciaux qui indiquent les niveaux de priorité les plus élevés, le premier étant le plus élevé. Tout autre nom doit être défini en créant un objet PriorityClass
avec ce nom. Si ce paramètre n’est pas spécifié, la priorité du pod est définie sur la valeur par défaut ou sur zéro s’il n’y a pas de valeur par défaut. clusterChecksRunner.rbac.create
- Utilisé pour configurer la création de ressources RBAC.
clusterChecksRunner.rbac.serviceAccountName
- Utilisé pour configurer le nom du compte de service à utiliser. Ignoré si la valeur du champ
Create
est définie sur true. clusterChecksRunner.replicas
- Nombre de réplicas de l’Agent de cluster.
clusterChecksRunner.tolerations
- Permet de spécifier les tolérances du pod des checks de cluster.
clusterName
- Spécifie un nom de cluster unique pour pouvoir facilement filtrer les hosts et checks de cluster.
credentials.apiKey
- Définir ce paramètre sur votre clé d’API Datadog avant l’exécution de l’Agent.
credentials.apiKeyExistingSecret
- OBSOLÈTE. Pour passer la clé d’API via un secret existant, utilisez plutôt
apiSecret
. Si ce paramètre est défini, il a la priorité sur apiKey
. credentials.apiSecret.keyName
- Clé du secret à utiliser.
credentials.apiSecret.secretName
- Nom du secret.
credentials.appKey
- Si vous utilisez
clusterAgent.metricsProvider.enabled = true
, vous devez définir une clé d’application Datadog pour obtenir un accès en lecture à vos métriques. credentials.appKeyExistingSecret
- OBSOLÈTE. Pour passer la clé d’application via un secret existant, utilisez plutôt
appSecret
. Si ce paramètre est défini, il a la priorité sur appKey
. credentials.appSecret.keyName
- Clé du secret à utiliser.
credentials.appSecret.secretName
- Nom du secret.
credentials.token
- Clé pré-partagée entre les Agents de nœud et l’Agent de cluster. Doit être composée d’au moins 32 caractères a-zA-z.
credentials.useSecretBackend
- Permet d’utiliser la fonctionnalité de backend de gestion des secrets de l’Agent pour récupérer tous les identifiants requis par les différents composants : Agent, cluster, checks de cluster. Si le paramètre
useSecretBackend:true
est défini, les autres paramètres d’identifiant sont ignorés. Valeur par défaut : false. site
- Permet de définir le site Datadog vers lequel envoyer les données de l’Agent :
. Valeur par défaut : datadoghq.com
. features.kubeStateMetricsCore.clusterCheck
- Configure le check Kubernetes State Metrics Core en tant que check de cluster.
features.kubeStateMetricsCore.enabled
- Permet de lancer le check Kubernetes State Metrics Core. Consultez la documentation sur le check Kubernetes State Metrics Core.
features.kubeStateMetricsCore.conf.configData
- Correspond au contenu du fichier de configuration.
features.kubeStateMetricsCore.conf.configMap.fileKey
- Correspond à la clé utilisée dans ConfigMap.Data pour stocker le contenu du fichier de configuration.
features.kubeStateMetricsCore.conf.configMap.name
- Nom de la ConfigMap.
features.logCollection.containerCollectUsingFiles
- Recueille les logs à partir des fichiers dans
/var/log/pods
au lieu d’utiliser l’API du runtime de conteneur. Il s’agit généralement de la méthode la plus efficace pour recueillir des logs. Valeur par défaut : true
. Consultez la section Collecte de logs Kubernetes. features.logCollection.containerLogsPath
- Autorise la collecte de logs à partir du chemin des logs de conteneur. Définissez un autre chemin si vous n’utilisez pas le runtime Docker. Valeur par défaut :
/var/lib/docker/containers
. features.logCollection.containerSymlinksPath
- Permet au processus de collecte de logs d’utiliser des liens symboliques dans ce répertoire pour valider l’ID du conteneur pour le pod. Valeur par défaut :
/var/log/containers
. features.logCollection.enabled
- Permet d’activer la collecte de logs pour l’Agent Datadog.
features.logCollection.logsConfigContainerCollectAll
- Permet d’activer la collecte de logs pour tous les conteneurs.
features.logCollection.openFilesLimit
- Définit le nombre maximal de fichiers de log que l’Agent Datadog surveille. L’augmentation de cette limite peut entraîner une augmentation de la consommation de ressources de l’Agent. Valeur par défaut : 100.
features.logCollection.podLogsPath
- Permet d’activer la collecte de logs à partir du chemin des logs de pod. Valeur par défaut :
/var/log/pods
. features.logCollection.tempStoragePath
- Ce chemin (toujours monté à partir du host) est utilisé par l’Agent Datadog pour stocker des informations sur les fichiers de log traités. En cas de redémarrage de l’Agent Datadog, la surveillance des fichiers de log démarre immédiatement. Valeur par défaut :
/var/lib/datadog-agent/logs
. features.networkMonitoring.enabled
- Active la surveillance réseau.
features.orchestratorExplorer.additionalEndpoints
- Endpoints supplémentaires pour transmettre les données recueillies au format JSON
{"https://process.agent.datadoghq.com": ["apikey1", ...], ...}'
. features.orchestratorExplorer.clusterCheck
- Configure le check Orchestrator Explorer en tant que check de cluster.
features.orchestratorExplorer.conf.configData
- Correspond au contenu du fichier de configuration.
features.orchestratorExplorer.conf.configMap.fileKey
- Correspond à la clé utilisée dans ConfigMap.Data pour stocker le contenu du fichier de configuration.
features.orchestratorExplorer.conf.configMap.name
- Nom de la ConfigMap.
features.orchestratorExplorer.ddUrl
- Définir ce paramètre sur l’endpoint Datadog à utiliser pour le check Orchestrator Explorer.
features.orchestratorExplorer.enabled
- Permet d’activer la surveillance Kubernetes en direct. Consultez la section Live containers.
features.orchestratorExplorer.extraTags
- Tags supplémentaires pour les données recueillies, avec le format
a b c
. Contrairement à DD_TAGS
, cette option de l’Agent de cluster permet de définir des tags de cluster personnalisés. features.orchestratorExplorer.scrubbing.containers
- Désactiver ce paramètre pour ne plus nettoyer les données sensibles des conteneurs (mots de passe, tokens, etc.).
features.prometheusScrape.additionalConfigs
- Le paramètre AdditionalConfigs permet d’ajouter des configurations de check Prometheus avancées avec des règles de découverte personnalisées.
features.prometheusScrape.enabled
- Active la découverte automatique des pods et des services exposant des métriques Prometheus.
features.prometheusScrape.serviceEndpoints
- Active la création de checks dédiés pour les endpoints de service.