La surveillance d’applications Windows conteneurisées nécessite l’Agent Datadog 7.19+.
Voici la liste des versions des systèmes d’exploitation prises en charge :
Windows Server 2019 (LTSC/1809)
Windows Server 2019 1909 (jusqu’à la version 7.39 de l’Agent ; les dernières versions ne sont plus prises en charge par Microsoft)
Windows Server 2019 2004 ou 20H1 (jusqu’à la version 7.39 de l’Agent ; les dernières versions ne sont plus prises en charge par Microsoft)
Windows Server 2019 20H2 (de la version 7.33 à 7.39 de l’Agent ; les dernières versions ne sont plus prises en charge par Microsoft)
Windows Server 2022 LTSC (Agent 7.34+)
Le mode d’isolation Hyper-V n’est pas pris en charge.
Les métriques de host relatives au disque, aux E/S et au réseau sont désactivées. Elles ne sont pas prises en charge par Windows Server, et les checks de l’Agent sont désactivés par défaut.
Pour déployer l’Agent Datadog sur un cluster mixte, il est conseillé d’effectuer deux installations du chart Helm avec des targetSystem différents.
L’Agent Datadog utilise un nodeSelector pour sélectionner automatiquement les nœuds Linux ou Windows en fonction du targetSystem.
Ce n’est toutefois pas le cas pour Kube State Metrics (qui est installé par défaut), ce qui peut empêcher la planification de Kube State Metrics sur les nœuds Windows.
Trois solutions sont possibles pour éviter ce problème :
Utilisez la fonctionnalité taint sur vos nœuds Windows. Sous Windows, l’Agent autorise toujours le taint node.kubernetes.io/os=windows:NoSchedule.
Définissez le sélecteur de nœud Kube State Metrics via le chart Helm Datadog values.yaml :
kube-state-metrics:
nodeSelector:
beta.kubernetes.io/os: linux // Kubernetes < 1.14
kubernetes.io/os: linux // Kubernetes >= 1.14
Déployez Kube State Metrics vous-même séparément en définissant datadog.kubeStateMetricsEnabled sur false.
Remarque : lorsque vous utilisez deux installations de Datadog (une avec targetSystem: linux et une autre avec targetSystem: windows), assurez-vous que le paramètre datadog.kubeStateMetricsEnabled est défini sur false pour la deuxième installation afin d’empêcher le déploiement de deux instances de Kube State Metrics.
Depuis la version 1.18 de l’Agent de cluster, les configurations reposant sur des clusters mixtes sont prises en charge.
Utilisez le fichier values.yaml suivant pour configurer les communications entre les Agents déployés sur les nœuds Windows et l’Agent de cluster.
targetSystem:windowsexistingClusterAgent:join:trueserviceName:"<NOM_SERVICE_EXISTANT_AGENT_CLUSTER_DATADOG>"# provenant du premier chart Helm DatadogtokenSecretName:"<NOM_SECRET_EXISTANT_AGENT_CLUSTER_DATADOG>"# provenant du premier chart Helm Datadog# Désactiver le déploiement de datadogMetrics, car il est déjà réalisé par le premier chartdatadog-crds:crds:datadogMetrics:false# Désactiver le déploiement de kube-state-metrics datadog:kubeStateMetricsEnabled:false
HostPort est partiellement pris en charge sur Kubernetes, en fonction de la version du système d’exploitation sous-jacent et du plug-in CNI.
Pour que HostPort fonctionne, les exigences suivantes doivent être satisfaites :
La version de Windows Server doit être >= 1909
Le plug-in CNI doit prendre en charge la fonctionnalité portMappings
Actuellement, au moins deux plug-ins CNI prennent en charge cette fonctionnalité :
Plug-in win-bridge officiel (version >= 0.8.6) - Utilisé par GKE
Plug-in CNI Azure - Utilisé par AKS
Si votre configuration ne répond pas à ces exigences, l’APM et DogStatsD fonctionneront uniquement lorsqu’une mise en réseau pod à pod est configurée entre le traceur et l’Agent.
Selon votre version de Kubernetes, il est possible que certaines métriques Kubelet ne soient pas disponibles (ou que le délai d’attente du check Kubelet expire).
Pour une expérience optimale, utilisez l’une des versions suivantes :
Kubelet >= 1.16.13 (1.16.11 sous GKE)
Kubelet >= 1.17.9 (1.17.6 sous GKE)
Kubelet >= 1.18.6
Kubelet >= 1.19
Avec l’Agent version >= 7.19.2
Notez que toutes les métriques kubernetes.* ne sont pas disponibles sous Windows. Les métriques disponibles sont énumérées ci-dessous :