Datadog은 Datadog Container Registry, Google Artifact Registry(GAR), Amazon ECR, Azure ACR, 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 |
컨테이너 레지스트리 선택
Datadog은 컨테이너 레지스트리를 선택할 때 다음 방식을 권장합니다.
비공개 풀스루 캐시: 자체 인프라에 풀스루 캐시를 설정합니다. 이렇게 하면 컨테이너 이미지 종속성을 가장 효과적으로 제어할 수 있습니다. 사용 중인 클라우드 공급자의 문서를 참조하세요.
클라우드 공급자 레지스트리: 특정 클라우드 공급자(AWS, GCP 또는 Azure)에 배포하는 경우 해당 Datadog 퍼블릭 레지스트리를 사용하세요.
- AWS 배포:
public.ecr.aws/datadog - GCP 배포:
gcr.io/datadoghq, eu.gcr.io/datadoghq 또는 asia.gcr.io/datadoghq - Azure 배포:
datadoghq.azurecr.io
Datadog Container Registry: 간편하게 사용하려면 registry.datadoghq.com을 사용하세요. 이 레지스트리는 추가 설정이 필요 없으며 요청 한도가 매우 높습니다. 레지스트리가 요청을 us-docker.pkg.dev/datadog-prod/public-images로 리디렉션할 수 있으므로 방화벽이 이 URL로의 트래픽을 허용하는지 확인하세요.
Docker Hub: 요청 한도가 적용되므로 Docker Hub 구독이 있는 경우가 아니라면 사용을 피하세요.
기본적으로 Datadog Agent Helm 차트는 Datadog 사이트, 클러스터 유형 및 registryMigrationMode값을 기준으로 기본 Agent 이미지 레지스트리를 결정합니다. Datadog Operator 차트는 기본적으로 Datadog Agent Helm 차트의 종속성으로 포함되어 있습니다. Datadog Operator 차트 버전 2.19.0부터 해당 종속성을 통해 Operator를 설치하면 Datadog Agent Helm 차트의 registryMigrationMode 설정이 Operator가 관리하는 Agent 이미지에도 적용됩니다. Operator Helm 차트 자체에는 registryMigrationMode가 정의되어 있지 않습니다. Operator 포드 이미지는 Operator 차트의 image.repository
값으로 별도로 제어됩니다.
레지스트리를 업데이트하려면 배포 중인 컨테이너 환경 유형에 따라 레지스트리 값을 업데이트하세요. 비공개 레지스트리를 사용할 수도 있지만, 이미지를 가져오려면 풀 시크릿을 생성해야 합니다.
Docker
Registry 업데이트
컨테이너 레지스트리를 업데이트하려면 새 레지스트리에 대해 Pull 명령을 실행하세요. 다른 컨테이너 레지스트리에 대한 Docker Pull 명령어를 확인하려면 Docker 문서 페이지 개요의 예시를 참조하세요.
Kubernetes에서 Helm 차트 활용
Datadog Helm 차트로 Kubernetes(GKE, EKS, AKS, OpenShift 포함)에 Datadog Agent(또는 Datadog Cluster Agent)를 배포하면서 컨테이너 레지스트리를 업데이트하려면 values.yaml 값을 업데이트하여 다른 레지스트리를 지정하세요.
Datadog Helm 차트 >= v2.7.0
values.yaml을 업데이트하세요. 예를 들어 Amazon ECR을 사용하려면 다음과 같이 설정합니다.registry: public.ecr.aws/datadog
agents.image.repository, clusterAgent.image.repository 또는 clusterChecksRunner.image.repository에 대한 모든 재정의를 values.yaml에서 제거하세요.
Datadog Helm 차트 < v2.7.0
리포지토리를 원하는 레지스트리로 변경하세요. 예를 들어, Datadog Container Registry를 사용하는 경우:
agents:
image:
repository: registry.datadoghq.com/agent
clusterAgent:
image:
repository: registry.datadoghq.com/cluster-agent
clusterChecksRunner:
image:
repository: registry.datadoghq.com/agent
Datadog Helm 차트 사용에 대한 자세한 내용은 Datadog Kubernetes 문서 및 예제 values.yaml 파일을 참조하세요.
비공개 레지스트리를 사용하는 경우 각 이미지의 [key].image.pullSecrets 필드에 풀 시크릿을 추가해야 합니다.
agents:
image:
pullSecrets:
- name: PrivateRegistrySecret
clusterAgent:
image:
pullSecrets:
- name: PrivateRegistrySecret
clusterChecksRunner:
image:
pullSecrets:
- name: PrivateRegistrySecret
Kubernetes에서 Datadog Operator 활용
Datadog Operator 차트 버전 2.19.0부터 Datadog Agent Helm 차트의 종속성을 통해 Operator를 설치하는 경우, Datadog Agent Helm 차트의 registryMigrationMode 설정에서 Operator가 관리하는 Agent 이미지에 대해 registry.datadoghq.com를 사용할 수 있습니다. 이전 버전에서는 Agent 이미지를 사이트별 레지스트리(gcr.io/datadoghq, eu.gcr.io/datadoghq, asia.gcr.io/datadoghq 또는 datadoghq.azurecr.io)에서 가져왔습니다. 이 배포 경로에서 이전 사이트별 레지스트리를 계속 사용하려면 Datadog Agent Helm 차트의 values.yaml에서 registryMigrationMode: ""를 설정하세요. 이 설정은 레지스트리를 명시적으로 지정한 경우에는 영향을 미치지 않으며, 독립형 Operator Helm 차트의 설정 항목도 아닙니다. Operator 포드 이미지에 다른 레지스트리를 사용하려면 Operator Helm의 values.yaml에서 image.repository를 설정하세요.
Datadog Operator로 Datadog Agent(또는 Datadog Cluster Agent)를 배포하는 동안 레지스트리를 업데이트합니다.
- Datadog Agent 매니페스트 파일을 업데이트하여 확인된 레지스트리를 재정의하세요. 예를 들어
public.ecr.aws/datadog의 경우:
apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
name: datadog
spec:
global:
registry: public.ecr.aws/datadog
// ..
spec.override.nodeAgent.image.name, spec.override.clusterAgent.image.name, spec.override.clusterChecksRunner.image.name 필드에 대한 모든 재정의를 제거하세요.- 비공개 레지스트리를 사용하는 경우 각 이미지의
[key].image.pullSecrets 필드에 풀 시크릿을 추가해야 합니다.
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
// ..
Datadog Operator에 대한 자세한 내용은 Operator로 Agent 배포하기를 참조하세요.
Helm으로 다른 Container Registry 사용하기
독립형 Operator Helm 차트를 설치할 때 public.ecr.aws/datadog과 같이 Operator 포드 이미지에 다른 레지스트리를 사용하려면 다음과 같이 하세요.
values.yaml을 새 이미지로 업데이트하세요.
image:
repository: public.ecr.aws/datadog
ECS
ECS에 배포하는 동안 레지스트리를 업데이트하려면 datadog-agent-ecs.json 파일에서 containerDefinitions 아래의 "image" 키 값을 "public.ecr.aws/datadog/agent:latest"로 변경하세요.
"image": "public.ecr.aws/datadog/agent:latest",
ECS에 Datadog 배포하기에 대한 자세한 내용은 Datadog ECS 문서 및 예제 datadog-agent-ecs.json 파일을 참조하세요.
Fargate
Fargate에 배포하는 동안 레지스트리를 업데이트하려면 Fargate 작업 정의에서 이미지를 업데이트하여 public.ecr.aws를 사용합니다.
"image": "public.ecr.aws/datadog/agent:latest"
다음에 작업이 시작될 때 Docker Hub 대신 public.ecr.aws에서 이미지를 가져옵니다. Fargate 배포에 대한 자세한 내용은 ECS에서 Agent 배포 및 EKS에서 Agent 배포를 참조하세요.
Cluster Agent
Helm 차트를 사용하여 Datadog Agent와 Datadog Cluster Agent를 배포하는 경우 Kubernetes에서 Helm 차트 활용에 나와 있는 지침을 따르세요. 다른 업데이트는 필요하지 않습니다. 위에서 설명한 Helm values.yaml 변경 사항을 적용하면 Cluster Agent와 Datadog Agent를 둘 다 가져오는 리포지토리가 변경됩니다.
Datadog Operator를 사용하여 Datadog Cluster Agent를 배포하는 경우 Kubernetes에서 Datadog Operator 활용에 나와 있는 지침을 따르세요. 다른 업데이트는 필요하지 않습니다. Operator 구성 업데이트 지침은 Cluster Agent와 Datadog Agent를 둘 다 가져오는 리포지토리를 업데이트합니다.
Datadog Cluster Agent에 대한 자세한 내용은 Cluster Agent 문서 및 설정 문서를 참조하세요.
Datadog Private Location 워커용 Kubernetes Helm
Private Location 워커의 레지스트리를 업데이트하려면 datadog/synthetics-private-location-worker 이미지를 public.ecr.aws/datadog/synthetics-private-location-worker 또는 gcr.io/datadoghq/synthetics-private-location-worker와 같은 다른 레지스트리로 변경하세요.
기본 리포지토리(gcr.io/datadoghq)를 변경하려면 values.yaml을 새 이미지로 업데이트하세요.
image:
repository: public.ecr.aws/datadog/synthetics-private-location-worker