A partir de la versión 1.20, Kubernetes dejará de utilizar Docker como motor de tiempo de ejecución, mientras que algunos proveedores de servicios en la nube ya lo han retirado de sus imágenes.

Si Docker se ha quedado obsoleto para tu versión de Kubernetes, el socket de Docker dejará de aparecer o, si lo hace, no contendrá ningún dato sobre los contenedores que ejecuta Kubernetes, y el check de Docker no funcionará. Encontrarás más información sobre el motor de tiempo de ejecución de Docker en kubernetes.io. Por esta razón, deberás activar el check de containerd o de CRI-O en función del motor de tiempo de ejecución del contenedor que uses. Las métricas de contenedor que obtenga el nuevo motor de tiempo de ejecución sustituirán a las de Docker.

En versiones posteriores a la 7.27 del Datadog Agent, el Agent detecta automáticamente tu entorno y no es necesario que hagas ningún cambio en la configuración.

Si utilizas una versión anterior a la 7.27 del Agent, tendrás que especificar la ruta del socket de tiempo de ejecución del contenedor:

Nota: Es posible que tengas que actualizar los monitores, dashboards y SLO debido a cambios en los nombres de las métricas. Ejemplo: de docker.* a containerd.*.

Establece la ruta al socket de tiempo de ejecución de tu contenedor con el parámetro datadog.criSocketPath en el Helm chart.

Por ejemplo:

criSocketPath:  /var/run/containerd/containerd.sock

Elimina todas las referencias al socket de Docker, así como los montajes del volumen de sockets de Docker (si existen).

Utiliza la variable de entorno DD_CRI_SOCKET_PATH para dirigirte a la ruta del socket de tiempo de ejecución de tu contenedor. Defínela en todos los contenedores del Agent si usas contenedores específicos:

env:
  - name: DD_CRI_SOCKET_PATH
    value: /var/run/containerd/containerd.sock

Monta el socket de tu host en el contenedor del Agent:

volumeMounts:
  - name: containerdsocket
    mountPath: /var/run/containerd/containerd.sock
  - mountPath: /host/var/run
    name: var-run
    readOnly: true
volumes:
  - hostPath:
      path: /var/run/containerd/containerd.sock
    name: containerdsocket
  - hostPath:
      path: /var/run
    name: var-run