Instalación de Datadog Agent en Amazon EKS con el complemento Datadog Operator
Puedes instalar Datadog Agent en un clúster de Amazon EKS instalando el Datadog Operator
como un complemento de Amazon EKS y aplicando el manifiesto DatadogAgent
.
Los Agents instalados mediante el complemento Operator solo recopilan datos de pods que se ejecutan en instancias de EC2. Para los pods que se ejecutan en AWS Fargate, sigue la documentación de Amazon EKS en AWS Fargate.
En comparación con la instalación normal de Helm, existen ciertas diferencias cuando se instala como complemento:
- Durante la instalación del Operator, las imágenes deben extraerse únicamente del repositorio de EKS. El usuario no puede cambiar esto.
- Los valores de la tabla Helm del Operator que pueden anularse están restringidos a un archivo de esquema.
Estas restricciones son necesarias para que Operator cumpla las políticas de complementos de EKS, para permitir que EKS garantice la seguridad de la instalación y para desactivar funciones que aún no se admiten en el entorno del complemento.
Requisitos previos
- Suscripción al producto Datadog Operator.
- kubectl instalado
- Si utilizas la interfaz de línea de comandos para configurar el complemento, AWS CLI
Instalar el Operator
- Ve al clúster de EKS en la consola de AWS.
- Ve a la pestaña del complemento y selecciona Get more add-ons (Obtener más complementos).
- Busca y selecciona Datadog Operator. A continuación, sigue las instrucciones para completar la instalación.
Para instalar el complemento Operator, ejecuta:
aws eks create-addon --addon-name datadog_operator --region <AWS_REGION> --cluster-name <CLUSTER_NAME>
La instalación del complemento es asíncrona. Para consultar el estado de la instalación, ejecuta:
aws eks describe-addon --addon-name datadog_operator --region <AWS_REGION> --cluster-name <CLUSTER_NAME>
Para comprobar que la instalación se ha realizado correctamente, utiliza la Consola de administración de AWS, eksctl
, o la AWS CLI para confirmar que se está ejecutando un pod datadog-operator
.
Configuración del Agent
Una vez instalado el complemento Operator, puedes proceder a configurar el Datadog Agent.
Sigue las instrucciones para configurar el Datadog Agent utilizando el recurso personalizado DatadogAgent
.
Cambia al espacio de nombres de instalación de Operator, que es datadog-agent
por defecto.
kubectl config set-context --current --namespace=datadog-agent
Crea un secreto Kubernetes con tus claves API de Datadog y claves de aplicación:
kubectl create secret generic datadog-secret --from-literal api-key=<DATADOG_API_KEY> --from-literal app-key=<DATADOG_APP_KEY>
Reemplaza <DATADOG_API_KEY>
y <DATADOG_APP_KEY>
por tus claves API de Datadog y claves de aplicación.
Crea un archivo datadog-agent.yaml
con las especificaciones de configuración del despliegue de DatadogAgent
. El Datadog Operator utiliza la configuración predeterminada de imagen de Agent y Cluster Agent, y las extrae de un registro público.
Si deseas extraer imágenes de un registro de EKS privado, puedes añadir global.registry
. La siguiente configuración habilita métricas, logs y APM:
apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
name: datadog
spec:
global:
# Required in case the Agent cannot resolve the cluster name through IMDS. See the note below.
clusterName: <CLUSTER_NAME>
registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com/datadog
credentials:
apiSecret:
secretName: datadog-secret
keyName: api-key
appSecret:
secretName: datadog-secret
keyName: app-key
features:
apm:
enabled: true
logCollection:
enabled: true
Esta configuración de instancia del Agent extrae la imagen del Datadog Agent de un repositorio de ECR alojado en AWS Marketplace, que también contiene la imagen para el complemento Datadog Operator Amazon EKS. Si necesitas alternativas, edita la entrada ‘global.registry’ en el manifiesto anterior.
Para conocer todas las opciones de configuración, consulta la especificación de configuración del Operator.
Nota: Si el acceso a IMDS v1 está bloqueado en el nodo, Agent no puede resolver el nombre del clúster, y ciertas características (por ejemplo, Orchestrator Explorer) no funcionan. Por ello, Datadog recomienda añadir spec.global.ClusterName
en el manifiesto DatadogAgent
. Consulta este comentario sobre cómo configurar el Agent para solicitar metadatos con IMDS v2.
Despliega el Datadog Agent:
kubectl apply -f /path/to/your/datadog-agent.yaml
Desinstalar el Operator
Si deseas desinstalar Agent y Operator, elimina primero el recurso personalizado DatadogAgent
:
kubectl delete datadogagents.datadoghq.com datadog
Confirma que se han eliminado todos los recursos del Agent y procede con la desinstalación del complemento:
- Ve al clúster de EKS en la consola de AWS.
- Ve a la pestaña del complemento y selecciona el complemento Datadog Operator.
- Haz clic en Delete (Eliminar) y confirma cuando se te solicite.
Para eliminar el complemento, ejecuta:
aws eks delete-addon --addon-name datadog_operator --region <AWS_REGION> --cluster-name <CLUSTER_NAME>
Nota: Si desinstalas el complemento Operator antes de eliminar el recurso personalizado DatadogAgent
, los Agents se seguirán ejecutando en el clúster. La eliminación del espacio de nombres falla, ya que DatadogAgent
no puede finalizarse sin un Operator en ejecución. Consulta esta incidencia de Github para encontrar una solución.
Más enlaces, artículos y documentación útiles: