Instale el Datadog Agent en Kubernetes
Resumen
Esta página proporciona instrucciones sobre cómo instalar el Agente de Datadog en un entorno de Kubernetes.
Para documentación y ejemplos dedicados para las principales distribuciones de Kubernetes, incluyendo AWS Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), Red Hat OpenShift, Rancher y Oracle Container Engine para Kubernetes (OKE), consulte distribuciones de Kubernetes.
Para documentación y ejemplos dedicados para monitorear el plano de control de Kubernetes, consulte monitoreo del plano de control de Kubernetes.
Versiones mínimas de Kubernetes y del Agente de Datadog
Algunas características relacionadas con versiones posteriores de Kubernetes requieren una versión mínima del Agente de Datadog.
| Versión de Kubernetes | Versión del Datadog Agent | Versión del Cluster Agent | Razón |
|---|
| 1.16.0+ | 7.19.0+ | 1.9.0+ | Deprecación de métricas de Kubelet |
| 1.21.0+ | 7.36.0+ | 1.20.0+ | Deprecación de recursos de Kubernetes |
| 1.22.0+ | 7.37.0+ | 7.37.0+ | Soporta tokens de cuenta de servicio dinámicos |
| 1.25.0+ | 7.40.0+ | 7.40.0+ | Soporta el grupo de API v1 |
| 1.33.0+ | 7.67.0+ | 7.67.0+ | Corrige incompatibilidades con Kubernetes AllocatedResources en /pods salida |
Para una compatibilidad óptima, Datadog recomienda mantener sus Cluster Agent y Agent en versiones coincidentes.
Instalación
Utilice la página de Instalación en Kubernetes en Datadog para guiarlo a través del proceso de instalación.
Seleccione el método de instalación
Elija uno de los siguientes métodos de instalación:
- Datadog Operator (recomendado): un operator de Kubernetes que puede usar para implementar el Datadog Agent en Kubernetes y OpenShift. Informa sobre el estado de despliegue, la salud y los errores en su estado de Custom Resource, y limita el riesgo de mala configuración gracias a opciones de configuración de nivel superior.
- Helm
- Instalación manual. Consulte Instalar y configurar manualmente el Datadog Agent con un DaemonSet
Si planea implementar APM con
Instrumentación de Un Solo Paso (SSI) en su entorno de Kubernetes, instale el Datadog Agent en su propio espacio de nombres. SSI no instrumenta pods en el mismo espacio de nombres que el Datadog Agent.
Instale el Datadog Operator
Para instalar el Datadog Operator en su espacio de nombres actual, ejecute:
helm repo add datadog https://helm.datadoghq.com
helm install datadog-operator datadog/datadog-operator
kubectl create secret generic datadog-secret --from-literal api-key=<DATADOG_API_KEY>
Configure datadog-agent.yaml
Cree un archivo, datadog-agent.yaml, que contenga:
apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
name: datadog
spec:
global:
clusterName: <CLUSTER_NAME>
site: <DATADOG_SITE>
credentials:
apiSecret:
secretName: datadog-secret
keyName: api-key
- Reemplace
<CLUSTER_NAME> con un nombre para su clúster. - Reemplace
<DATADOG_SITE> con su sitio de Datadog. Su sitio es . (Asegúrese de que el SITIO correcto esté seleccionado a la derecha).
Despliegue el Datadog Agent con el archivo de configuración anterior
Ejecute:
kubectl apply -f datadog-agent.yaml
Agregue el repositorio de Helm de Datadog
Ejecute:
helm repo add datadog https://helm.datadoghq.com
helm repo update
kubectl create secret generic datadog-secret --from-literal api-key=<DATADOG_API_KEY>
Configure datadog-values.yaml
Cree un archivo, datadog-values.yaml, que contenga:
datadog:
apiKeyExistingSecret: datadog-secret
clusterName: <CLUSTER_NAME>
site: <DATADOG_SITE>
- Reemplace
<CLUSTER_NAME> con un nombre para su clúster. - Reemplace
<DATADOG_SITE> con su sitio de Datadog. Su sitio es . (Asegúrese de que el SITIO correcto esté seleccionado a la derecha).
Despliegue el Datadog Agent con el archivo de configuración anterior
Ejecute:
helm install datadog-agent -f datadog-values.yaml datadog/datadog
Para Windows, agregue --set targetSystem=windows al helm install comando.
Confirme la instalación del Datadog Agent
Verifique que los pods del Datadog Agent (etiquetados con app.kubernetes.io/component:agent) aparezcan en la página de Containers en Datadog. Los pods del Datadog Agent se detectan en pocos minutos después del despliegue.
<CLUSTER_NAME> Le permite definir el contexto de los hosts y de Cluster Checks. Este nombre único debe estar compuesto por tokens separados por puntos y cumplir con las siguientes restricciones:
- Debe contener solo letras minúsculas, números y guiones
- Debe comenzar con una letra
- Debe terminar con un número o una letra
- Debe tener 80 caracteres o menos
Instalación no privilegiada
Para ejecutar una instalación no privilegiada, agregue lo siguiente securityContext a su configuración en relación con su <USER_ID> y <GROUP ID> deseados:
- Reemplace
<USER_ID> con el UID para ejecutar el Datadog Agent. Datadog recomienda establecer este valor en 100 para el usuario dd-agent preexistente para Datadog Agent v7.48+. - Reemplace
<GROUP_ID> con el ID de grupo que posee el socket de Docker o containerd.
Esto establece el securityContext a nivel de pod para el Datadog Agent.
Para ejecutar una instalación no privilegiada, agregue lo siguiente a datadog-agent.yaml:
apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
name: datadog
spec:
global:
clusterName: <CLUSTER_NAME>
site: <DATADOG_SITE>
credentials:
apiSecret:
secretName: datadog-secret
keyName: api-key
override:
nodeAgent:
securityContext:
runAsUser: <USER_ID>
supplementalGroups:
- <GROUP_ID>
Luego, despliegue el Datadog Agent:
kubectl apply -f datadog-agent.yaml
Para ejecutar una instalación no privilegiada, agregue lo siguiente a su archivo datadog-values.yaml:
datadog:
apiKeyExistingSecret: datadog-secret
clusterName: <CLUSTER_NAME>
site: <DATADOG_SITE>
securityContext:
runAsUser: <USER_ID>
supplementalGroups:
- <GROUP_ID>
Luego, despliegue el Datadog Agent:
helm install datadog-agent -f datadog-values.yaml datadog/datadog
Registros de contenedores
Datadog publica imágenes de contenedor en el Datadog Container Registry, Google Artifact Registry (GAR), Amazon ECR, Azure ACR y Docker Hub:
| Registry | Path |
|---|
| Datadog Container Registry | registry.datadoghq.com |
| Google Artifact Registry | gcr.io/datadoghq |
| Google Artifact Registry (Europe) | eu.gcr.io/datadoghq |
| Google Artifact Registry (Asia) | asia.gcr.io/datadoghq |
| Amazon ECR | public.ecr.aws/datadog |
| Azure ACR | datadoghq.azurecr.io |
| Docker Hub | docker.io/datadog |
Por defecto, el Datadog Agent Helm chart determina el registro de imágenes del Datadog Agent a partir de su sitio de Datadog, tipo de clúster y registryMigrationMode. Dependiendo de estos valores y exclusiones de entorno, las imágenes del Datadog Agent pueden ser extraídas del Datadog Container Registry (registry.datadoghq.com) o de un registro específico del sitio. El Datadog Operator chart se incluye como dependencia del Datadog Agent Helm chart por defecto. A partir de la versión 2.19.0 del Datadog Operator chart, cuando instale el Operator a través de esa dependencia, el registryMigrationMode del Datadog Agent Helm chart se aplica a las imágenes del Datadog Agent gestionadas por el Operator. El Datadog Operator chart en sí no define registryMigrationMode; la imagen del pod del Operator se controla por separado mediante el valor image.repository del Datadog Operator chart.
Docker Hub está sujeto a límites de tasa de extracción de contenedor. Si no es cliente de Docker Hub, Datadog recomienda que actualice la configuración de su Datadog Agent y de Cluster Agent para extraer de otro registro. Para instrucciones, consulta
Cambiar tu registro de contenedores.
A partir de la versión 2.19.0 del chart del Datadog Operator, cuando el Datadog Operator se instala a través de la dependencia del Helm chart del Datadog Agent, el registryMigrationMode del Helm chart del Datadog Agent puede usar registry.datadoghq.com para las imágenes del Datadog Agent gestionadas por el Datadog Operator. Las versiones anteriores extraían imágenes del Datadog Agent de registros específicos del sitio (gcr.io/datadoghq, eu.gcr.io/datadoghq, asia.gcr.io/datadoghq o datadoghq.azurecr.io). Para seguir utilizando los registros específicos del sitio anteriores para las imágenes del Datadog Agent en esta ruta de implementación, establece registryMigrationMode: "" en tu Helm chart del Datadog Agent values.yaml. Esta configuración no tiene efecto cuando se establece explícitamente un registro, y no es una configuración en el Helm chart independiente del Datadog Operator. Para usar un registro diferente para la imagen del pod del Datadog Operator, establece image.repository en tu Helm chart del Datadog Operator values.yaml.
Para usar un registro de contenedores diferente, modifica global.registry en datadog-agent.yaml.
Por ejemplo, para usar Amazon ECR:
apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
name: datadog
spec:
global:
clusterName: <CLUSTER_NAME>
registry: public.ecr.aws/datadog
site: <DATADOG_SITE>
credentials:
apiSecret:
secretName: datadog-secret
keyName: api-key
Para usar un registro de contenedores diferente, modifica registry en datadog-values.yaml.
Por ejemplo, para usar Amazon ECR:
registry: public.ecr.aws/datadog
datadog:
apiKeyExistingSecret: datadog-secret
site: <DATADOG_SITE>
Para más información, consulta Cambiando tu registro de contenedores.
Desinstalar
kubectl delete datadogagent datadog
helm delete datadog-operator
Este comando elimina todos los recursos de Kubernetes creados al instalar Datadog Operator y desplegar Datadog Agent.
helm uninstall datadog-agent
Próximos pasos
Monitorea tu infraestructura en Datadog
Utiliza la página de Contenedores para tener visibilidad de tu infraestructura de contenedores, con métricas de recursos y búsqueda por facetas. Para obtener información sobre cómo usar la página de [Containers], consulta Containers View.
Utiliza la página de Container Images para obtener información sobre cada imagen utilizada en tu entorno. Esta página también muestra las vulnerabilidades encontradas en las imágenes de contenedor de Cloud Security. Para obtener información sobre cómo usar la página de [Container Images], consulta Container Images View.
La sección de Kubernetes presenta una visión general de todos tus recursos de Kubernetes. Orchestrator Explorer te permite monitorear el estado de los pods, despliegues y otros conceptos de Kubernetes en un espacio de nombres o zona de disponibilidad específica, ver las especificaciones de recursos para los pods fallidos dentro de un despliegue, correlacionar la actividad de los nodos con los registros relacionados, y más. La página de Resource Utilization proporciona información sobre cómo tus cargas de trabajo de Kubernetes utilizan tus recursos de cómputo en toda tu infraestructura. Para obtener información sobre cómo usar estas páginas, consulta Orchestrator Explorer y Kubernetes Resource Utilization.
Habilitar funciones
Más enlaces, artículos y documentación útiles:
Lectura adicional
Más enlaces, artículos y documentación útiles: