Datadog は、Google の gcr.io、AWS の ECR、および Docker Hub でコンテナイメージを公開しています。
dockerhub.io | gcr.io | public.ecr.aws |
---|
datadog/agent | gcr.io/datadoghq/agent | public.ecr.aws/datadog/agent |
datadog/cluster-agent | gcr.io/datadoghq/cluster-agent | public.ecr.aws/datadog/cluster-agent |
datadog/operator | gcr.io/datadoghq/operator | public.ecr.aws/datadog/operator |
datadog/dogstatsd | gcr.io/datadoghq/dogstatsd | public.ecr.aws/datadog/dogstatsd |
datadog/synthetics-private-location-worker | gcr.io/datadoghq/synthetics-private-location-worker | public.ecr.aws/datadog/synthetics-private-location-worker |
GCR または ECR レジストリからのプルは、Docker Hub からのプルと同じように動作します (Notary を除く)。同じコマンド (パラメータは異なる) を使用して、同じイメージを取得することができます。
注: ECR と GCR は Notary をサポートしていません。Docker から取り込んだイメージの署名を検証する場合、この機能は GCR と ECR では動作しません。
レジストリを更新するには、デプロイ先のコンテナ環境の種類に応じて、レジストリ値を更新する必要があります。
注: プライベートレジストリを使用することもできますが、プライベートレジストリからイメージを取得するには、プルシークレットの作成が必要になります。
プルシークレットの作成について、詳しくは Kubernetes のドキュメントを参照してください。
Docker
レジストリを更新する
コンテナレジストリを更新するには、新しいレジストリ用の pull コマンドを実行します。異なるコンテナレジストリに対する Docker pull コマンドを確認するには、Docker ドキュメントの概要ページの例を参照してください。
Kubernetes と Helm チャート
Kubernetes (GKE、EKS、AKS、OpenShift を含む) 上の Datadog helm チャートで Datadog Agent (または Datadog Cluster Agent) をデプロイする際にコンテナのレジストリを更新するには、 values.yaml
を更新して異なるレジストリを指定してください。
Datadog Helm チャート >= v2.7.0
values.yaml
を更新します:registry: gcr.io/datadoghq
values.yaml
にある agents.image.repository
、clusterAgent.image.repository
、clusterChecksRunner.image.repository
のオーバーライドをすべて削除します。
Datadog Helm チャート < v2.7.0
リポジトリを gcr.io
に変更します:
agents:
image:
repository: gcr.io/datadoghq/agent
clusterAgent:
image:
repository: gcr.io/datadoghq/cluster-agent
clusterChecksRunner:
image:
repository: gcr.io/datadoghq/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 で Datadog Agent (または Datadog Cluster Agent) をデプロイする際に、レジストリを更新するには:
- Datadog Agent のマニフェストファイルを更新し、デフォルトのレジストリ (
gcr.io/datadoghq
) をオーバーライドします。例えば、public.ecr.aws/datadog
の場合:
apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
name: datadog
spec:
global:
registry: gcr.io/datadoghq
// ..
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 で public.ecr.aws/datadog のレジストリを使用する
また、Helm チャートで Operator をインストールする際に、デフォルトの gcr.io/datadoghq
レジストリから public.ecr.aws/datadog
レジストリに変更することもできます。レジストリを public.ecr.aws/datadog
に切り替えるには、次のようにします。
新しいイメージで 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
ファイルを参照してください。
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
Datadog Agent と Datadog Cluster Agent のデプロイに Helm チャートを使用している場合は、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: gcr.io/datadoghq/synthetics-private-location-worker