Datadog publie des images de conteneurs dans plusieurs registres de conteneurs publics. Bien que cela soit pratique pour de nombreux utilisateurs, certaines organisations peuvent souhaiter utiliser un registre de conteneurs privé. Ce guide explique comment synchroniser les images de conteneurs Datadog vers un registre privé.

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

Synchroniser les images vers votre registre privé

Utiliser Crane

Crane est un outil créé par Google pour gérer les images et les registres de conteneurs et peut être utilisé pour synchroniser les images entre différents registres de conteneurs. Pour en savoir plus sur Crane, consultez la documentation Crane.

Installer Crane

Pour obtenir des instructions détaillées sur l’installation de Crane, consultez le fichier README.md de Crane.

Copier une image vers un autre registre à l’aide de Crane

Crane peut copier des images entre différents registres de conteneurs tout en préservant le condensé de l’image.

Cela signifie que la copie conserve le même manifeste et fonctionne avec les images multiplateformes.

Pour copier une image d’un registre vers un autre, utiliser la commande crane copy.

crane copy <REGISTRY>/<SOURCE_IMAGE>:<IMAGE_TAG> <REGISTRY>/<DEST_IMAGE>:<IMAGE_TAG>

Vous pouvez utiliser le flag -n pour éviter d’écraser un tag existant dans le registre de destination.

Par exemple, pour copier les images par défaut nécessaires à l’opérateur Datadog depuis Docker Hub vers un registre privé :

AGENT_VERSION=<AGENT_IMAGE_TAG>
OPERATOR_VERSION=<OPERATOR_IMAGE_TAG>
REGISTRY=<REGISTRY_URL>
crane copy gcr.io/datadoghq/operator:$OPERATOR_VERSION $REGISTRY/operator:$OPERATOR_VERSION
crane copy gcr.io/datadoghq/agent:$AGENT_VERSION $REGISTRY/agent:$AGENT_VERSION
crane copy gcr.io/datadoghq/cluster-agent:$AGENT_VERSION $REGISTRY/cluster-agent:$AGENT_VERSION

Utiliser un registre privé

Une fois que vous avez synchronisé les images, vous pouvez utiliser ce guide pour modifier le registre de conteneurs utilisé par votre environnement.

Remarque : si vous utilisez votre registre privé, vous devrez peut-être créer un pull secret pour pouvoir extraire les images. Pour en savoir plus sur la création d’un pull secret, consultez la documentation Kubernetes.