Nouvelles annonces sur les technologies sans serveur et réseau ainsi que sur le RUM (Real-User Monitoring) dévoilées à la conférence Dash ! Nouvelles annonces dévoilées à la conférence Dash !

Istio

L’APM Datadog est disponible pour Istio 1.1.3 et ultérieur sur les clusters Kubernetes.

Configuration

Installation de l’Agent Datadog

  1. Installez l’Agent.
  2. Veillez à ce que l’APM soit activé pour votre Agent.
  3. Supprimez la mise en commentaire du paramètre hostPort pour que les sidecars Istio puissent se connecter à l’Agent et envoyer des traces.

Remarque : les pods de l’Agent ne sont pas en mesure de démarrer si l’injection automatique de sidecar d’Istio est activée sur l’espace de nommage sur lequel l’Agent Datadog est exécuté. Pour éviter cela :

Désactiver l’injection de sidecar pour l’Agent Datadog

Ajoutez l’annotation sidecar.istio.io/inject: "false" au daemonset datadog-agent :

...
spec:
  ...
  template:
    metadata:
      annotations:
        sidecar.istio.io/inject: "false"
    ...

Vous pouvez également utiliser la commande kubectl patch.

kubectl patch daemonset datadog-agent -p '{"spec":{"template":{"metadata":{"annotations":{"sidecar.istio.io/inject":"false"}}}}}'

Créer un service headless pour l’Agent Datadog

Créez un service headless pour l’Agent Datadog avec la configuration YAML spécifiée ci-dessous.

apiVersion: v1
kind: Service
metadata:
  labels:
    app: datadog-agent
  name: datadog-agent
spec:
  clusterIP: None
  ports:
  - name: dogstatsdport
    port: 8125
    protocol: UDP
    targetPort: 8125
  - name: traceport
    port: 8126
    protocol: TCP
    targetPort: 8126
  selector:
    app: datadog-agent

Installation et configuration d’Istio

Pour activer l’APM Datadog, une installation Istio personnalisée est requise afin d’ajouter deux options supplémentaires avant l’installation. Ces option sont transmises lors de l’étape finale helm template ou helm install :

  • --set pilot.traceSampling=100.0
  • --set global.proxy.tracer=datadog

Exemple : une installation utilisant le profil de configuration default utiliserait la commande suivante :

helm template install/kubernetes/helm/istio --name istio --namespace istio-system --set pilot.traceSampling=100.0 --set global.proxy.tracer=datadog | kubectl apply -f -

Pour aller plus loin