Configuration de l'Operator
Rapport de recherche Datadog : Bilan sur l'adoption de l'informatique sans serveur Rapport : Bilan sur l'adoption de l'informatique sans serveur

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: "datadog/agent:latest"
ParamètreDescription
agent.additionalAnnotationsLe paramètre AdditionalAnnotations permet de spécifier des annotations qui seront ajoutées aux pods de l’Agent.
agent.additionalLabelsLe paramètre AdditionalLabels permet de spécifier des étiquettes qui seront ajoutées aux pods de l’exécuteur de checks de cluster.
agent.apm.enabledPermet d’activer l’APM et le tracing sur le port 8126. Consultez la [documentation de Datadog relative à Docker][1].
agent.apm.envL’Agent Datadog prend en charge de nombreuses [variables d’environnement][2].
agent.apm.hostPortNuméro du port à exposer sur le host. Lorsque spécifié, doit correspondre à un numéro de port valide, 0 < x < 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.limitsSpécifie la quantité maximale de ressources de calcul autorisées. Pour en savoir plus, consultez la [documentation Kubernetes][3].
agent.apm.resources.requestsRequests 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][3].
agent.config.checksd.configMapNameNom d’une ConfigMap utilisée pour monter un répertoire.
agent.config.collectEventsPermet de démarrer la collecte d’événements via l’API Kubernetes. [Consultez la documentation relative à la collecte d’événements][4].
agent.config.confd.configMapNameNom d’une ConfigMap utilisée pour monter un répertoire.
agent.config.criSocket.criSocketPathChemin du socket d’exécution de conteneur (si différent de Docker). Ce paramètre est pris en charge à partir de l’Agent 6.6.0.
agent.config.criSocket.dockerSocketPathChemin du socket d’exécution Docker.
agent.config.ddUrlLe 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.dogstatsdOriginDetectionActive la détection de l’origine pour le tagging de conteneur. Consultez la [documentation relative à la détection de l’origine pour les sockets Unix][5].
agent.config.dogstatsd.useDogStatsDSocketVolumeActive DogStatsD sur un socket de domaine Unix. [Consultez la documentation relative aux sockets Unix][6].
agent.config.envL’Agent Datadog prend en charge de nombreuses [variables d’environnement][2].
agent.config.hostPortNuméro du port à exposer sur le host. Lorsque spécifié, doit correspondre à un numéro de port valide, 0 < x < 65536. Si HostNetwork est spécifié, la valeur doit correspondre à ContainerPort. La plupart des conteneurs ne nécessitent pas ce paramètre.
agent.config.leaderElectionActive le mécanisme d’élection de leader pour la collecte d’événements.
agent.config.logLevelDé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.podAnnotationsAsTagsPermet de spécifier un mappage d’annotations Kubernetes avec des tags Datadog. <ANNOTATIONS_KUBERNETES>: <CLÉ_TAG_DATADOG>
agent.config.podLabelsAsTagsPermet de spécifier un mappage d’étiquettes Kubernetes avec des tags Datadog. <ÉTIQUETTE_KUBERNETES>: <CLÉ_TAG_DATADOG>
agent.config.resources.limitsSpécifie la quantité maximale de ressources de calcul autorisées. [Consultez la documentation Kubernetes][3].
agent.config.resources.requestsSpé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. [Consultez la documentation Kubernetes][3].
agent.config.securityContext.allowPrivilegeEscalationPermet 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.addFonctionnalités ajoutées.
agent.config.securityContext.capabilities.dropFonctionnalités supprimées.
agent.config.securityContext.privilegedPermet 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.procMountprocMount spécifie le type de montage proc à utiliser pour les conteneurs. La valeur par défaut est DefaultProcMount, qui 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.readOnlyRootFilesystemSpécifie si ce conteneur possède un système de fichiers root en lecture seule. Valeur par défaut : false.
agent.config.securityContext.runAsGroupLe GID 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.runAsNonRootIndique 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.runAsUserL’UID pour exécuter le point d’entrée du processus du conteneur. Valeur par défaut : utilisateur indiqué dans les métadonnées d’image si le paramètre n’est pas spécifié. 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.gmsaCredentialSpecGMSACredentialSpec est l’emplacement au niveau duquel le [webhook d’admission GMSA][7] 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 flag feature WindowsGMSA.
agent.config.securityContext.windowsOptions.gmsaCredentialSpecNameGMSACredentialSpecName 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 flag feature WindowsGMSA.
agent.config.securityContext.windowsOptions.runAsUserNameLe UserName dans Windows à utiliser pour exécuter le point d’entrée du processus du conteneur. Valeur par défaut : utilisateur indiqué dans les métadonnées de l’image si aucune valeur n’est indiqué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é. Il s’agit d’un champ de niveau bêta qui peut être désactivé avec le feature flag WindowsRunAsUserName.
agent.config.tagsListe de tags à associer à chaque métrique, événement et check de service recueilli par cet Agent. Consultez la [documentation relative au tagging][8].
agent.config.tolerationsPermet de spécifier les tolérances du pod de l’Agent.
agent.config.volumeMountsPermet de spécifier des montages de volume supplémentaires dans le conteneur de l’Agent Datadog.
agent.config.volumesPermet de spécifier des volumes supplémentaires dans le conteneur de l’Agent Datadog.
agent.customConfig.configDataCorrespond au contenu du fichier de configuration.
agent.customConfig.configMap.fileKeyCorrespond à la clé utilisée dans ConfigMap.Data pour stocker le contenu du fichier de configuration.
agent.customConfig.configMap.nameNom de la ConfigMap.
agent.daemonsetNameNom du DaemonSet à créer ou à partir duquel effectuer une migration.
agent.deploymentStrategy.canary.duration
agent.deploymentStrategy.canary.paused
agent.deploymentStrategy.canary.replicas
agent.deploymentStrategy.reconcileFrequencyFréquence de rapprochement des valeurs ExtendDaemonSet.
agent.deploymentStrategy.rollingUpdate.maxParallelPodCreationNombre maximal de pods créés en parallèle. Valeur par défaut : 250.
agent.deploymentStrategy.rollingUpdate.maxPodSchedulerFailuremaxPodSchedulerFailure est le nombre maximal de pods planifié sur son nœud en raison d’une défaillance du planificateur : contraintes de 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.maxUnavailableLe nombre maximal 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.slowStartAdditiveIncreaseLa 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.slowStartIntervalDurationDurée de l’intervalle. Valeur par défaut : 1 min.
agent.deploymentStrategy.updateStrategyTypeStratégie de mise à jour utilisée pour le DaemonSet.
agent.dnsConfig.nameserversListe d’adresses IP de serveurs de noms DNS. Celles-ci 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.optionsListe d’options de résolution de DNS. Celles-ci 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.searchesListe 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.dnsPolicyDé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.envVariables d’environnement pour tous les Agents Datadog. [Consultez la documentation relative aux variables d’environnement][2].
agent.hostNetworkRéseau host requis pour ce pod. Utiliser l’espace de nommage réseau du host. Si cette option est définie, les ports qui seront utilisés doivent être indiqués. Valeur par défaut : false.
agent.hostPIDUtiliser l’espace de nommage PID du host. Facultatif. Valeur par défaut : false.
agent.image.nameDéfinit l’image à utiliser. Utilisez datadog/agent:latest pour l’Agent Datadog 6. Utilisez datadog/dogstatsd:latest pour la version autonome de DogStatsD. Utilisez datadog/cluster-agent:latest pour l’Agent de cluster Datadog.
agent.image.pullPolicyStratégie d’extraction Kubernetes. Utilisez Always, Never ou IfNotPresent.
agent.image.pullSecretsIndique les identifiants de registre Docker. [Consultez la documentation Kubernetes][9].
agent.log.containerCollectUsingFilesRecueillir 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][10]. Valeur par défaut : true.
agent.log.containerLogsPathAutoriser 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 Kubernetes][11]. Valeur par défaut : /var/lib/docker/containers.
agent.log.enabledPermet d’activer la collecte de logs avec l’Agent Datadog. Consultez la documentation relative à la [collecte de logs][10].
agent.log.logsConfigContainerCollectAllPermet d’activer la collecte de logs pour tous les conteneurs. Consultez la documentation relative à la [collecte de logs][10].
agent.log.openFilesLimitDéfinit le nombre maximal de fichiers de logs 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][10]. Valeur par défaut : 100.
agent.log.podLogsPathPermet d’activer la collecte de logs à partir du chemin de logs de pods. Valeur par défaut : /var/log/pods.
agent.log.tempStoragePathCe chemin (toujours monté à partir du host) est utilisé par l’Agent Datadog pour stocker des informations sur les fichiers de logs traités. En cas de redémarrage de l’Agent Datadog, il vous permet de démarrer la surveillance des fichiers de logs avec le bon décalage. Valeur par défaut : /var/lib/datadog-agent/logs.
agent.priorityClassNameSi 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.enabledPermet d’activer la surveillance des Live Processes. Remarque : /etc/passwd est automatiquement monté pour permettre la résolution de nom d’utilisateur. [Consultez la documentation relative aux processus][12].
agent.process.envL’Agent Datadog prend en charge de nombreuses [variables d’environnement][3].
agent.process.resources.limitsSpécifie la quantité maximale de ressources de calcul autorisées. Consultez la [documentation Kubernetes][3].
agent.process.resources.requestsSpé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. Consultez la [documentation Kubernetes][3].
agent.rbac.createUtilisé pour configurer la création de ressources RBAC.
agent.rbac.serviceAccountNameUtilisé pour configurer le nom du compte de service à utiliser. Ignored si la valeur du champ Create est définie sur true.
agent.systemProbe.appArmorProfileNameSpécifie un profil AppArmor.
agent.systemProbe.bpfDebugEnabledJournalisation de debugging du kernel.
agent.systemProbe.conntrackEnabledPermet d’autoriser l’Agent system-probe à se connecter au sous-système netlink/conntrack afin d’ajouter des informations NAT aux données de connexion. [Consultez la documentation relative à Conntrack][13].
agent.systemProbe.debugPortSpécifier le port à utiliser pour exposer pprof et expvar pour l’Agent system-probe.
agent.systemProbe.enabledPermet d’activer la surveillance des Live Processes. Remarque : /etc/passwd est automatiquement monté pour permettre la résolution de nom d’utilisateur. [Consultez la documentation relative aux processus][12].
agent.systemProbe.envLe SystemProbe Datadog prend en charge de nombreuses [variables d’environnement][2].
agent.systemProbe.resources.limitsSpécifie la quantité maximale de ressources de calcul autorisées. [Consultez la documentation Kubernetes][3].
agent.systemProbe.resources.requestsSpé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. [Consultez la documentation Kubernetes][3].
agent.systemProbe.secCompCustomProfileConfigMapSpécifie une ConfigMap pré-existante qui contient un profil SecComp personnalisé.
agent.systemProbe.secCompProfileNameSpécifie un profil seccomp.
agent.systemProbe.secCompRootPathSpécifie le répertoire root du profil seccomp.
agent.systemProbe.securityContext.allowPrivilegeEscalationPermet d’indiquer si un processus peut obtenir ou non plus de privilèges que son processus parent. Ce booléen indique 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 tant que conteneur Privileged 2) dispose de l’autorisation CAP_SYS_ADMIN.
agent.systemProbe.securityContext.capabilities.addFonctionnalités ajoutées.
agent.systemProbe.securityContext.capabilities.dropFonctionnalités supprimées.
agent.systemProbe.securityContext.privilegedPermet 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.procMountSpécifie le type de montage proc à utiliser pour les conteneurs. La valeur par défaut est DefaultProcMount et 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.readOnlyRootFilesystemSpécifie si ce conteneur possède un système de fichiers root en lecture seule. Valeur par défaut : false.
agent.systemProbe.securityContext.runAsGroupLe GID 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 dans SecurityContext et PodSecurityContext, la valeur indiquée dans SecurityContext a la priorité.
agent.systemProbe.securityContext.runAsNonRootIndique 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.runAsUserL’UID pour exécuter le point d’entrée du processus du conteneur. Valeur par défaut : utilisateur indiqué dans les métadonnées d’image si aucune valeur n’est spécifié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.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.gmsaCredentialSpecGMSACredentialSpec est l’emplacement au niveau duquel le [webhook d’admission GMSA][7] 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 flag feature WindowsGMSA.
agent.systemProbe.securityContext.windowsOptions.gmsaCredentialSpecNameGMSACredentialSpecName 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 flag feature WindowsGMSA.
agent.systemProbe.securityContext.windowsOptions.runAsUserNameUtiliser le UserName dans Windows pour exécuter le point d’entrée du processus du conteneur. Valeur par défaut : utilisateur indiqué dans les métadonnées de l’image si aucune valeur n’est indiqué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é. Il s’agit d’un champ de niveau bêta qui peut être désactivé avec le feature flag WindowsRunAsUserName.
agent.useExtendedDaemonsetPermet d’utiliser ExtendedDaemonset pour le déploiement de l’Agent. Valeur par défaut : false.
clusterAgent.additionalAnnotationsLe paramètre AdditionalAnnotations permet d’indiquer des annotations qui sont ajoutées aux pods de l’Agent de cluster.
clusterAgent.additionalLabelsLe paramètre AdditionalLabels permet d’indiquer des étiquettes qui sont ajoutées aux pods de l’exécuteur de checks de cluster.
clusterAgent.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecutionLe 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. En d’autres termes, pour chaque nœud répondant à toutes les exigences de planification (requête de ressource, expressions d’affinité requiredDuringScheduling, etc.), calculer une somme en itérant les éléments de ce champ et en ajoutant du « poids » à la somme si le nœud correspond aux valeurs matchExpressions correspondantes ; le ou les nœuds présentant la somme la plus élevée sont les plus privilégiés.
clusterAgent.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTermsObligatoire. Liste de termes de sélecteur de nœud. Les termes sont séparés par OR.
clusterAgent.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecutionLe 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. En d’autres termes, pour chaque nœud répondant à toutes les exigences de planification (requête de ressource, expressions d’affinité requiredDuringScheduling, etc.), calculer une somme 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 correspondant ; le ou les nœuds présentant la somme la plus élevée sont les plus privilégiés.
clusterAgent.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecutionSi les exigences d’affinité spécifiées via ce champ ne sont pas respectées au moment de la planification, le pod ne sera 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 pourra 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, c’est-à-dire que tous les termes doivent être satisfaits.
clusterAgent.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecutionLe planificateur préfère planifier des pods sur les nœuds qui satisfont les expressions 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. En d’autres termes, pour chaque nœud répondant à toutes les exigences de planification (requête de ressource, expressions d’anti-affinité requiredDuringScheduling, etc.), calculer une somme 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 correspondant ; le ou les nœuds présentant la somme la plus élevée sont les plus privilégiés.
clusterAgent.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecutionSi les exigences d’anti-affinité spécifiées via ce champ ne sont pas respectées au moment de la planification, le pod ne sera 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 pourra 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, c’est-à-dire que tous les termes doivent être satisfaits.
clusterAgent.config.admissionController.enabledActive 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.mutateUnlabelledActive l’injection de configuration sans que l’étiquette de pod admission.datadoghq.com/enabled="true" soit définie
clusterAgent.config.admissionController.serviceNameCorrespond au nom de service du webhook.
clusterAgent.config.clusterChecksEnabledActive 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][14]. La fonction Autodiscovery via des annotations de service Kube est activée automatiquement.
clusterAgent.config.confd.configMapNameNom d’une ConfigMap utilisée pour monter un répertoire.
clusterAgent.config.envL’Agent Datadog prend en charge de nombreuses [variables d’environnement][2].
clusterAgent.config.externalMetrics.enabledActive le metricsProvider pour pouvoir effectuer une mise à l’échelle en fonction des métriques dans Datadog.
clusterAgent.config.externalMetrics.portPermet de configurer le port du service de métriques externes metricsProvider.
clusterAgent.config.externalMetrics.useDatadogMetricsActive l’utilisation du CRD DatadogMetrics (qui permet la mise à l’échelle en fonction de requêtes arbitraires).
clusterAgent.config.logLevelSpécifie le niveau de détail de la journalisation. Les niveaux de logs valides sont les suivants : trace, debug, info, warn, error, critical et off.
clusterAgent.config.resources.limitsSpécifie la quantité maximale de ressources de calcul autorisées. [Consultez la documentation Kubernetes][3].
clusterAgent.config.resources.requestsSpé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. [Consultez la documentation Kubernetes][3].
clusterAgent.config.volumeMountsSpécifie des montages de volume supplémentaires dans le conteneur de l’Agent de cluster Datadog.
clusterAgent.config.volumesSpécifie des volumes supplémentaires dans le conteneur de l’Agent de cluster Datadog.
clusterAgent.customConfig.configDataCorrespond au contenu du fichier de configuration.
clusterAgent.customConfig.configMap.fileKeyCorrespond à la clé utilisée dans ConfigMap.Data pour stocker le contenu du fichier de configuration.
clusterAgent.customConfig.configMap.nameNom de la ConfigMap.
clusterAgent.deploymentNameNom du déploiement de l’Agent de cluster à créer ou à partir duquel effectuer une migration.
clusterAgent.image.nameDéfinit l’image à utiliser. Utilisez datadog/agent:latest pour l’Agent Datadog 6. Utilisez datadog/dogstatsd:latest pour la version autonome de DogStatsD. Utilisez datadog/cluster-agent:latest pour l’Agent de cluster Datadog.
clusterAgent.image.pullPolicyStratégie d’extraction Kubernetes. Utilisez Always, Never ou IfNotPresent.
clusterAgent.image.pullSecretsSpécifie les identifiants de registre Docker. Consultez la [documentation Kubernetes][9].
clusterAgent.nodeSelectorSélecteur qui doit être défini sur true pour que le pod soit compatible avec le nœud. Sélecteur qui doit correspondre aux étiquettes d’un nœud pour que le pod soit planifié sur ce nœud. Consultez la [documentation Kubernetes][15].
clusterAgent.priorityClassNamePermet de spécifier 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.createUtilisé pour configurer la création de ressources RBAC.
clusterAgent.rbac.serviceAccountNameUtilisé pour configurer le nom du compte de service à utiliser. Ignoré si la valeur du champ Create est définie sur true.
clusterAgent.replicasNombre de réplicas de l’Agent de cluster.
clusterAgent.tolerationsPermet de spécifier les tolérances du pod de l’Agent.
clusterChecksRunner.additionalAnnotationsSpécifie des annotations qui seront ajoutées aux pods de l’exécuteur de checks de cluster.
clusterChecksRunner.additionalLabelsSpécifie des étiquettes qui seront ajoutées aux pods de l’exécuteur de checks de cluster.
clusterChecksRunner.affinity.nodeAffinity.preferredDuringSchedulingIgnoredDuringExecutionLe 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. En d’autres termes, pour chaque nœud répondant à toutes les exigences de planification (requête de ressource, expressions d’affinité requiredDuringScheduling, etc.), calculer une somme en itérant les éléments de ce champ et en ajoutant du « poids » à la somme si le nœud correspond aux valeurs matchExpressions correspondantes ; le ou les nœuds présentant la somme la plus élevée sont les plus privilégiés.
clusterChecksRunner.affinity.nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution.nodeSelectorTermsObligatoire. Liste de termes de sélecteur de nœud. Les termes sont séparés par OR.
clusterChecksRunner.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecutionLe 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. En d’autres termes, pour chaque nœud répondant à toutes les exigences de planification (requête de ressource, expressions d’affinité requiredDuringScheduling, etc.), calculer une somme 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 correspondant ; le ou les nœuds présentant la somme la plus élevée sont les plus privilégiés.
clusterChecksRunner.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecutionSi les exigences d’affinité spécifiées via ce champ ne sont pas respectées au moment de la planification, le pod ne sera 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 pourra 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, c’est-à-dire que tous les termes doivent être satisfaits.
clusterChecksRunner.affinity.podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecutionLe planificateur préfère planifier des pods sur les nœuds qui satisfont les expressions 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. En d’autres termes, pour chaque nœud répondant à toutes les exigences de planification (requête de ressource, expressions d’anti-affinité requiredDuringScheduling, etc.), calculer une somme 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 correspondant ; le ou les nœuds présentant la somme la plus élevée sont les plus privilégiés.
clusterChecksRunner.affinity.podAntiAffinity.requiredDuringSchedulingIgnoredDuringExecutionSi les exigences d’anti-affinité spécifiées via ce champ ne sont pas respectées au moment de la planification, le pod ne sera 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 pourra 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, c’est-à-dire que tous les termes doivent être satisfaits.
clusterChecksRunner.config.envL’Agent Datadog prend en charge de nombreuses [variables d’environnement][2].
clusterChecksRunner.config.logLevelDé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.limitsSpécifie la quantité maximale de ressources de calcul autorisées. Consultez la [documentation Kubernetes][3].
clusterChecksRunner.config.resources.requestsSpé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. Consultez la [documentation Kubernetes][3].
clusterChecksRunner.config.volumeMountsSpécifie des montages de volume supplémentaires dans le conteneur de l’exécuteur de checks de cluster Datadog.
clusterChecksRunner.config.volumesSpécifie des volumes supplémentaires dans le conteneur de l’exécuteur de checks de cluster Datadog.
clusterChecksRunner.customConfig.configDataCorrespond au contenu du fichier de configuration.
clusterChecksRunner.customConfig.configMap.fileKeyCorrespond à la clé utilisée dans ConfigMap.Data pour stocker le contenu du fichier de configuration.
clusterChecksRunner.customConfig.configMap.nameNom de la ConfigMap.
clusterChecksRunner.deploymentNameNom du déploiement de checks de cluster à créer ou à partir duquel effectuer une migration.
clusterChecksRunner.image.nameDéfinit l’image à utiliser. Utilisez « datadog/agent:latest » pour l’Agent Datadog 6. Utilisez « datadog/dogstatsd:latest » pour la version autonome de DogStatsD. Utilisez « datadog/cluster-agent:latest » pour l’Agent de cluster Datadog.
clusterChecksRunner.image.pullPolicyStratégie d’extraction Kubernetes. Utilisez Always, Never ou IfNotPresent.
clusterChecksRunner.image.pullSecretsIl est possible de spécifier des identifiants de registre Docker. Consultez la [documentation Kubernetes][9].
clusterChecksRunner.nodeSelectorSélecteur qui doit être défini sur true pour que le pod soit compatible avec le nœud. Sélecteur qui doit correspondre aux étiquettes d’un nœud pour que le pod soit planifié sur ce nœud. Consultez la [documentation Kubernetes][15].
clusterChecksRunner.priorityClassNamePermet de spécifier 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.createUtilisé pour configurer la création de ressources RBAC.
clusterChecksRunner.rbac.serviceAccountNameUtilisé pour configurer le nom du compte de service à utiliser. Ignoré si le champ Create est défini sur true.
clusterChecksRunner.replicasNombre de réplicas de l’Agent de cluster.
clusterChecksRunner.tolerationsPermet de spécifier les tolérances du pod du check de cluster.
clusterNameSpécifie un nom de cluster unique pour permettre de définir facilement le contexte de hosts et de l’exécuteur de checks de cluster.
credentials.apiKeyDéfinir ce paramètre sur votre clé d’API Datadog avant l’exécution de l’Agent.
credentials.apiKeyExistingSecretOBSOLÈ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.keyNameClé du secret à utiliser.
credentials.apiSecret.secretNameNom du secret.
credentials.appKeySi 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.appKeyExistingSecretOBSOLÈ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.keyNameClé du secret à utiliser.
credentials.appSecret.secretNameNom du secret.
credentials.tokenClé 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.useSecretBackendPermet d’utiliser la fonctionnalité de backend de gestion des secrets de l’Agent pour la récupération de 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 seront ignorés. Valeur par défaut : false.
siteLe site de Datadog vers lequel envoyer les données de l’Agent. Définissez ce paramètre sur datadoghq.eu pour envoyer les données vers le site européen.