Kubernetes に Datadog Agent をインストールする

概要

このページでは、Kubernetes 環境に Datadog Agent をインストールする手順を説明します。

AWS Elastic Kubernetes Service (EKS)、Azure Kubernetes Service (AKS)、Google Kubernetes Engine (GKE)、Red Hat OpenShift、Rancher、Oracle Container Engine for Kubernetes (OKE) など主要な Kubernetes ディストリビューションの専用ドキュメントやサンプルは Kubernetes ディストリビューションに掲載されています。

Kubernetes のコントロールプレーンを監視するための専用のドキュメントと例については、Kubernetes のコントロールプレーン監視を参照してください。

Kubernetes と Datadog Agent の最小バージョン

Kubernetes の後期バージョンに関連する一部の機能では、Datadog Agent の最低バージョンが必要です。

Kubernetes バージョンAgent バージョン理由
1.16.0+7.19.0+Kubelet メトリクスの非推奨化
1.21.0+7.36.0+Kubernetes リソースの非推奨化
1.22.0+7.37.0+ダイナミックサービスアカウントトークンをサポート

こちらもご覧ください: Kubernetes と Cluster Agent の最小バージョン

インストール

Datadog の Installing on Kubernetes ページを利用すると、インストールプロセスの説明が表示されます。

  1. インストール方法を選択する

    以下のインストール方法のいずれかを使用します。

Helmkubectl CLI が必要です。
  1. Datadog Operator をインストールする

    現在のネームスペースに Datadog Operator をインストールするには、以下を実行します:

    helm repo add datadog https://helm.datadoghq.com
    helm install datadog-operator datadog/datadog-operator
    kubectl create secret generic datadog-secret --from-literal api-key=<DATADOG_API_KEY>
    
  2. datadog-agent.yaml を構成する

    以下の設定を含む datadog-agent.yaml というファイルを作成します。

    apiVersion: datadoghq.com/v2alpha1
    kind: DatadogAgent
    metadata:
      name: datadog
    spec:
      global:
        clusterName: <CLUSTER_NAME>
        site: <DATADOG_SITE>
        credentials:
          apiSecret:
            secretName: datadog-secret
            keyName: api-key
    
    • <CLUSTER_NAME> を、ご使用のクラスターの名前に置き換えます。
    • <DATADOG_SITE> を、ご使用の Datadog サイトに置き換えます。ご使用のサイトは です (右側で正しいサイトが選択されていることを確認してください)。
  3. 上記の構成ファイルを使って Agent をデプロイする

    次を実行します。

    kubectl apply -f datadog-agent.yaml
    
Requires Helm.
  1. Add the Datadog Helm repository

    Run:

    helm repo add datadog https://helm.datadoghq.com
    helm repo update
    kubectl create secret generic datadog-secret --from-literal api-key=<DATADOG_API_KEY>
    
  2. Configure datadog-values.yaml

    Create a file, datadog-values.yaml, that contains:

    datadog:
     apiKeyExistingSecret: datadog-secret
     site: <DATADOG_SITE>
    
    • Replace <DATADOG_SITE> with your Datadog site. Your site is . (Ensure the correct SITE is selected on the right).
  3. Deploy Agent with the above configuration file

    Run:

    helm install datadog-agent -f datadog-values.yaml datadog/datadog
    
    For Windows, append --set targetSystem=windows to the helm install command.
  1. Confirm Agent installation

    Verify that Agent pods (tagged with app.kubernetes.io/component:agent) appear on the Containers page in Datadog. Agent pods are detected within a few minutes of deployment.

Unprivileged installation

To run an unprivileged installation, add the following to datadog-agent.yaml:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    clusterName: <CLUSTER_NAME>
    site: <DATADOG_SITE>
    credentials:
      apiSecret:
        secretName: datadog-secret
        keyName: api-key
agent:
  config:
    securityContext:
      runAsUser: <USER_ID>
      supplementalGroups:
        - <GROUP_ID>
  • Replace <USER_ID> with the UID to run the Datadog Agent.
  • Replace <GROUP_ID> with the group ID that owns the Docker or containerd socket.

Then, deploy the Agent:

kubectl apply -f datadog-agent.yaml

To run an unprivileged installation, add the following to your datadog-values.yaml file:

datadog:
  apiKeyExistingSecret: datadog-secret
  site: <DATADOG_SITE>
  securityContext:
      runAsUser: <USER_ID>
      supplementalGroups:
        - <GROUP_ID>
  • Replace <USER_ID> with the UID to run the Datadog Agent.
  • Replace <GROUP_ID> with the group ID that owns the Docker or containerd socket.

Then, deploy the Agent:

helm install datadog-agent -f datadog-values.yaml datadog/datadog

Container registries

Datadog publishes container images to Google Artifact Registry, Amazon ECR, and Docker Hub:

gcr.iopublic.ecr.awsdocker hub
gcr.io/datadoghqpublic.ecr.aws/datadogdocker.io/datadog

By default, the Agent image is pulled from Google Artifact Registry (gcr.io/datadoghq). If Artifact Registry is not accessible in your deployment region, use another registry.

If you are deploying the Agent in an AWS environment, Datadog recommend that you use Amazon ECR.

Docker Hub is subject to image pull rate limits. If you are not a Docker Hub customer, Datadog recommends that you update your Datadog Agent and Cluster Agent configuration to pull from Google Artifact Registry or Amazon ECR. For instructions, see Changing your container registry.

To use a different container registry, modify global.registry in datadog-agent.yaml.

For example, to use Amazon ECR:

apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
  name: datadog
spec:
  global:
    clusterName: <CLUSTER_NAME>
    registry: public.ecr.aws/datadog
    site: <DATADOG_SITE>
    credentials:
      apiSecret:
        secretName: datadog-secret
        keyName: api-key

To use a different container registry, modify registry in datadog-values.yaml.

For example, to use Amazon ECR:

registry: public.ecr.aws/datadog
datadog:
  apiKeyExistingSecret: datadog-secret
  site: <DATADOG_SITE>

For more information, see Changing your container registry.

Uninstall

kubectl delete datadogagent datadog
helm delete datadog-operator

This command deletes all Kubernetes resources created by installing Datadog Operator and deploying the Datadog Agent.

helm uninstall datadog-agent

次のステップ

Datadog でインフラストラクチャーを監視する

コンテナインフラストラクチャーを可視化し、リソースメトリクスとファセット検索を利用するには、Containers ページを使用します。Containers ページの使い方については、コンテナビューを参照してください。

環境内で使用されているすべてのイメージに関する洞察を得るには、Container Images ページを使用します。このページには、Cloud Security Management (CSM) から提供される、コンテナイメージで見つかった脆弱性の情報も表示されます。Container Images ページの使用方法については、コンテナイメージビュー を参照してください。

Kubernetes セクションには、すべての Kubernetes リソースの概要が表示されます。オーケストレータエクスプローラーを利用すると、特定のネームスペースや可用性ゾーン内のポッド、デプロイメント、およびその他の Kubernetes コンセプトの状態を監視したり、デプロイメント内で失敗したポッドのリソースの仕様を確認したり、ノードのアクティビティを関連ログと相関付けたりすることができます。Resource Utilization ページでは、インフラストラクチャー全体で Kubernetes ワークロードがどのようにコンピューティングリソースを使用しているかについて洞察が得られます。これらのページの使い方については、オーケストレータエクスプローラーKubernetes Resource Utilization を参照してください。

機能を有効にする


その他の参考資料