La monitorización de aplicaciones contenerizadas de Windows requiere el Datadog Agent v7.19 o posterior.
Las versiones de sistemas operativos compatibles son:
Windows Server 2019 (LTSC /1809)
Windows Server 2019 1909 (hasta el Agent 7.39, dado que ya no es compatible con Microsoft)
Windows Server 2019 2004 o 20H1 (hasta el Agent 7.39, dado que ya no es compatible con Microsoft)
Windows Server 2019 20H2 (Agent 7.33 a 7.39, dado que ya no es compatible con Microsoft)
Windows Server 2022 LTSC (Agent v7.34 o posterior)
El modo de aislamiento Hyper-V no es compatible.
Las métricas de host para disco, E/S y red están deshabilitadas. No son compatibles con Windows Server, por lo que los checks del Agent están deshabilitados de forma predeterminada.
El método recomendado para desplegar el Datadog Agent en un clúster mixto es realizar dos instalaciones del Helm chart con diferentes targetSystem.
El Datadog Agent utiliza un nodeSelector para seleccionar automáticamente nodos Linux o Windows basados en targetSystem.
Sin embargo, no es el caso de Kube State Metrics (que se instala por defecto), por lo que se dan situaciones en las que Kube State Metrics no se puede programar en nodos Windows.
Para evitar este problema existen tres posibilidades:
Usar la función taint en tus nodos Windows. En Windows, el Agent siempre permite el taint node.kubernetes.io/os=windows:NoSchedule.
Definir el selector de nodo Kube State Metrics a través del Helm chart values.yaml de Datadog:
kube-state-metrics:
nodeSelector:
beta.kubernetes.io/os: linux // Kubernetes < 1.14
kubernetes.io/os: linux // Kubernetes >= 1.14
Desplegar Kube State Metrics por tu cuenta de forma independiente estableciendo datadog.kubeStateMetricsEnabled como false.
Nota: Cuando se utilizan dos instalaciones de Datadog (una con targetSystem: linux, otra con targetSystem: windows), es necesario verificar que la segunda tiene datadog.kubeStateMetricsEnabled definido como false para evitar que se desplieguen dos instancias de Kube State Metrics.
Con Cluster Agent v1.18 y posteriores, el Datadog Cluster Agent admite una configuración con clústeres mixtos.
Para configurar la comunicación entre los Agents desplegados en nodos Windows y el Cluster Agent, utiliza el siguiente archivo values.yaml.
targetSystem:windowsexistingClusterAgent:join:trueserviceName:"<EXISTING_DCA_SERVICE_NAME>"# from the first Datadog Helm charttokenSecretName:"<EXISTING_DCA_SECRET_NAME>"# from the first Datadog Helm chart# Disable datadogMetrics deployment since it should have been already deployed with the first chart.datadog-crds:crds:datadogMetrics:false# Disable kube-state-metrics deploymentdatadog:kubeStateMetricsEnabled:false
HostPort es compatible parcialmente con Kubernetes, dependiendo de la versión del sistema operativo subyacente y del plugin CNI.
Los requisitos para que funcione HostPort son los siguientes:
Se requiere la versión de Windows Server 1909 o posterior
El plugin CNI debe ser compatible con la función portMappings
Actualmente, al menos dos plugins CNI admiten esta función:
Plugin oficial win-bridge (versión 0.8.6 y posteriores), utilizado por GKE
Plugin CNI de Azure, utilizado por AKS
Si tu configuración no cumple estos requisitos, APM y DogStatsD solo funcionarán cuando esté configurada la red pod-to-pod entre el Tracer y el Agent.
Es posible que algunas métricas de Kubelet no estén disponibles (o que el check de Kubelet agote el tiempo de espera) en función de la versión de Kubernetes que utilices.
Para disfrutar de una experiencia óptima, utiliza cualquiera de los siguientes:
Kubelet 1.16.13 y posteriores (1.16.11 en GKE)
Kubelet 1.17.9 y posteriores (1.17.6 en GKE)
Kubelet 1.18.6 y posteriores
Kubelet 1.19 y posteriores
Con la versión 7.19.2 y posteriores del Agent
Ten en cuenta que no todas las opciones de kubernetes.* están disponibles en Windows, puedes encontrar la lista de las disponibles a continuación: