Datadog publie des images de conteneur dans gcr.io de Google, Azure ACR, ECR d’AWS et sur Docker Hub :

datadoghq.azurecr.iodockerhub.iogcr.iopublic.ecr.aws
datadoghq.azurecr.io/agentdatadog/agentgcr.io/datadoghq/agentpublic.ecr.aws/datadog/agent
datadoghq.azurecr.io/cluster-agentdatadog/cluster-agentgcr.io/datadoghq/cluster-agentpublic.ecr.aws/datadog/cluster-agent
datadoghq.azurecr.io/operatordatadog/operatorgcr.io/datadoghq/operatorpublic.ecr.aws/datadog/operator
datadoghq.azurecr.io/dogstatsddatadog/dogstatsdgcr.io/datadoghq/dogstatsdpublic.ecr.aws/datadog/dogstatsd
datadoghq.azurecr.io/synthetics-private-location-workerdatadog/synthetics-private-location-workergcr.io/datadoghq/synthetics-private-location-workerpublic.ecr.aws/datadog/synthetics-private-location-worker

L’extraction depuis le registre ACR, GCR ou ECR fonctionne de la même manière (sauf pour Notary) que l’extraction depuis Docker Hub. Vous pouvez utiliser la même commande (avec des paramètres différents) et obtenir la même image.

Remarque : ACR, ECR et GCR ne prennent pas en charge Notary. Si vous vérifiez la signature des images extraites de Docker, cette fonctionnalité ne fonctionne pas sur GCR ou ECR.

Pour mettre à jour votre registre, vous devez modifier les valeurs du registre en fonction du type d’environnement de conteneur sur lequel le déploiement sera effectué.

Remarque : vous pouvez également utiliser un registre privé, mais vous devrez créer un secret de type pull pour pouvoir extraire les images du registre privé. Pour plus d’informations sur la création d’un secret de type pull, consultez la documentation Kubernetes.

Docker

Mise à jour de votre registre

Pour mettre à jour votre registre de conteneurs, exécutez la commande pull pour le nouveau registre. Pour voir les commandes Docker pull pour différents registres de conteneurs, consultez les exemples de la page de présentation de la documentation Docker.

Kubernetes avec le chart Helm

Pour mettre à jour votre registre de conteneurs lorsque vous déployez l’Agent Datadog (ou l’Agent de cluster Datadog) avec le chart helm Datadog sur Kubernetes (y compris GKE, EKS, AKS et OpenShift), modifiez le registre spécifié dans le fichier values.yaml :

Chart Helm Datadog >= v2.7.0

  1. Mettez à jour votre fichier values.yaml :
    registry: gcr.io/datadoghq
    
  2. Supprimez les éventuelles valeurs personnalisées définies pour agents.image.repository, clusterAgent.image.repository ou clusterChecksRunner.image.repository dans values.yaml.

Chart Helm Datadog < v2.7.0

Définissez le référentiel gcr.io :

agents:
  image:
    repository: gcr.io/datadoghq/agent

clusterAgent:
  image:
    repository: gcr.io/datadoghq/cluster-agent

clusterChecksRunner:
  image:
    repository: gcr.io/datadoghq/agent

Pour plus d’informations sur l’utilisation du chart Helm Datadog, consultez la documentation Kubernetes de Datadog et l’exemple de fichier values.yaml.

Si vous utilisez un registre privé, vous devrez ajouter un secret de type pull au champ [key].image.pullSecrets pour chaque image.

agents:
  image:
    pullSecrets:
      - name: PrivateRegistrySecret

clusterAgent:
  image:
    pullSecrets:
    - name: PrivateRegistrySecret

clusterChecksRunner:
  image:
    pullSecrets:
    - name: PrivateRegistrySecret

Kubernetes avec l’Operator Datadog

Pour mettre à jour votre registre lors du déploiement de l’Agent Datadog (ou de l’Agent de cluster Datadog) avec le Datadog Operator :

  1. Mettez à jour le fichier de manifeste de l’Agent Datadog pour remplacer le registre par défaut (gcr.io/datadoghq). Par exemple, avec public.ecr.aws/datadog :
apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    registry: gcr.io/datadoghq
  // ..
  1. Supprimez toutes les substitutions pour les champs spec.override.nodeAgent.image.name, spec.override.clusterAgent.image.name et spec.override.clusterChecksRunner.image.name.
  2. Si vous utilisez un registre privé, vous devrez ajouter un secret de type pull au champ [key].image.pullSecrets pour chaque image.
apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  override:
    nodeAgent:
      image:
        pullSecrets:
          - name: PrivateRegistrySecret
    clusterAgent:
      image:
        pullSecrets:
          - name: PrivateRegistrySecret
    clusterChecksRunner:
      image:
        pullSecrets:
          - name: PrivateRegistrySecret
  // ..

Pour plus d’informations sur le Datadog Operator, consultez la section Déployer un Agent avec l’opérateur.

Utiliser un autre registre de conteneurs avec Helm

Vous pouvez également passer du registre par défaut gcr.io/datadoghq à un autre registre, tel que datadoghq.azurecr.io lors de l’installation de l’opérateur avec le chart Helm :

Mettez à jour values.yaml avec la nouvelle image :

image:
  repository: datadoghq.azurecr.io

ECS

Pour mettre à jour votre registre lors du déploiement sur ECS, dans le fichier datadog-agent-ecs.json, modifiez la valeur de la clé "image" sous containerDefinitions en "public.ecr.aws/datadog/agent:latest" :

"image": "public.ecr.aws/datadog/agent:latest",

Pour plus d’informations sur le déploiement de Datadog sur ECS, consultez la documentation ECS de Datadog et l’exemple de fichier datadog-agent-ecs.json.

Fargate

Pour mettre à jour votre registre lors d’un déploiement sur Fargate, mettez à jour l’image dans la définition de tâche Fargate pour la définir sur public.ecr.aws :

"image": "public.ecr.aws/datadog/agent:latest"

Au prochain démarrage de la tâche, l’image sera récupérée depuis public.ecr.aws au lieu de Docker Hub. Pour en savoir plus sur le déploiement de Datadog sur Fargate, consultez Déployer l’Agent sur ECS et Déployer l’Agent sur EKS.

Agent de cluster

Si vous utilisez le chart Helm pour déployer l’Agent Datadog et l’Agent de cluster Datadog, suivez les instructions de la section Kubernetes avec le chart Helm. Aucune autre modification n’est nécessaire. La modification du référentiel dans le fichier Helm values.yaml décrite précédemment s’appliquera aussi bien à l’Agent de cluster qu’à l’Agent Datadog.

Si vous utilisez l’Operator Datadog pour déployer l’Agent de cluster Datadog, suivez les instructions de la section Kubernetes avec l’Operator Datadog. Aucune autre modification n’est nécessaire. La mise à jour du référentiel dans la configuration de l’Operator s’appliquera aussi bien à l’Agent de cluster qu’à l’Agent Datadog.

Pour en savoir plus sur l’Agent de cluster Datadog, consultez la documentation relative à l’Agent de cluster et les instructions de configuration.

Kubernetes via Helm pour le worker d’emplacement privé Datadog

Pour modifier votre registre pour le worker d’emplacement privé, mettez à jour l’image datadog/synthetics-private-location-worker et définissez-la sur public.ecr.aws/datadog/synthetics-private-location-worker ou gcr.io/datadoghq/synthetics-private-location-worker.

Pour modifier le référentiel par défaut (gcr.io/datadoghq), mettez à jour le fichier values.yaml avec la nouvelle image :

image:
  repository: gcr.io/datadoghq/synthetics-private-location-worker