Kubernetes に Datadog Agent をインストールする
概要
このページでは、Kubernetes 環境に Datadog Agent をインストールする手順を説明します。デフォルトでは、Datadog Agent は DaemonSet で実行されます。
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 の最小バージョン
インストール
Kubernetes に Datadog Agent をインストールするには、以下のオプションがあります。
Datadog Operator は 1.0.0 バージョンで一般公開されており、DatadogAgent Custom Resource のバージョン v2alpha1
と照合しています。
Datadog Operator は Kubernetes や OpenShift にDatadog Agent をデプロイする方法です。カスタムリソースステータスでデプロイ状況、健全性、エラーを報告し、高度なコンフィギュレーションオプションでコンフィギュレーションミスのリスクを抑えます。
前提条件
Datadog Operator を使用するには、次の前提条件が必要です。
- Kubernetes Cluster バージョン v1.20.X+: テストは v1.20.0+ で行われました。v1.11.0+ でサポートされるはずです。それ以前のバージョンでは、CRD のサポートが制限されているため、Operator は期待どおりに動作しない可能性があります。
datadog-operator
をデプロイするための Helm
。datadog-agent
をインストールするための Kubectl
CLI。
Operator を使用して Agent をデプロイする
Datadog Operator をインストールします:
helm repo add datadog https://helm.datadoghq.com
helm install my-datadog-operator datadog/datadog-operator
お使いの API とアプリキーで Kubernetes シークレットを作成します
kubectl create secret generic datadog-secret --from-literal api-key=<DATADOG_API_KEY> --from-literal app-key=<DATADOG_APP_KEY>
<DATADOG_API_KEY>
と <DATADOG_APP_KEY>
を Datadog API とアプリケーションキーに置き換えます。
Datadog Agent のデプロイコンフィギュレーションを使用してファイル datadog-agent.yaml
を作成します。最も単純なコンフィギュレーションは次のとおりです。
kind: DatadogAgent
apiVersion: datadoghq.com/v2alpha1
metadata:
name: datadog
spec:
global:
site: <DATADOG_SITE>
credentials:
apiSecret:
secretName: datadog-secret
keyName: api-key
appSecret:
secretName: datadog-secret
keyName: app-key
override:
clusterAgent:
image:
name: gcr.io/datadoghq/cluster-agent:latest
nodeAgent:
image:
name: gcr.io/datadoghq/agent:latest
<DATADOG_SITE>
を Datadog サイトに置き換えます。サイトは
です。(右側で正しい SITE が選択されていることを確認してください)。
上記のコンフィギュレーションファイルを使用して Datadog Agent をデプロイします。
kubectl apply -f /path/to/your/datadog-agent.yaml
前提条件
- Helm
- これが新規インストールの場合は、Helm の Datadog リポジトリを追加します。
helm repo add datadog https://helm.datadoghq.com
helm repo update
チャートのインストール
空の datadog-values.yaml
ファイルを作成します。このファイルで指定されていないパラメーターは、values.yaml
で設定されたものがデフォルトとなります。
Datadog の API キーとアプリキーを保存する Kubernetes Secret を作成します。
kubectl create secret generic datadog-secret --from-literal api-key=$DD_API_KEY --from-literal app-key=$DD_APP_KEY
datadog-values.yaml
に以下のパラメーターを設定し、シークレットを参照します。
datadog:
apiKeyExistingSecret: datadog-secret
appKeyExistingSecret: datadog-secret
site: <DATADOG_SITE>
<DATADOG_SITE>
を Datadog サイトに置き換えます。サイトは
です。(右側で正しい SITE が選択されていることを確認してください)。
次のコマンドを実行します。
helm install <RELEASE_NAME> \
-f datadog-values.yaml \
--set targetSystem=<TARGET_SYSTEM> \
datadog/datadog
注: Helm < v3 を使用している場合は、以下を実行してください。
helm install --name <RELEASE_NAME> \
-f datadog-values.yaml \
--set targetSystem=<TARGET_SYSTEM> \
datadog/datadog
クリーンアップ
次のコマンドは、上記の手順で作成されたすべての Kubernetes リソースを削除します。
kubectl delete datadogagent datadog
helm delete my-datadog-operator
許容範囲の使用に関する情報を含む、Datadog Operator の設定の詳細については、Datadog Operator の高度な設定ガイドを参照してください。
<RELEASE_NAME>
のデプロイをアンインストール/削除します。
helm uninstall <RELEASE_NAME>
非特権
(オプション) 非特権のインストールを実行するには、以下の手順に従います。
datadog-agent
.yaml の Datadog カスタムリソース (CR) に以下を追加します。
agent:
config:
securityContext:
runAsUser: <USER_ID>
supplementalGroups:
- <DOCKER_GROUP_ID>
datadog-values.yaml
ファイルに以下を追加します。
datadog:
securityContext:
runAsUser: <USER_ID>
supplementalGroups:
- <DOCKER_GROUP_ID>
<USER_ID>
は Agent を実行する UID です。<DOCKER_GROUP_ID>
は Docker または containerd ソケットを所有するグループ ID です。
コンテナレジストリ
2023 年 7 月 10 日、Docker Hub は Datadog の Docker Hub レジストリへのダウンロードレート制限を実施するようになります。これらのレジストリからのイメージのプルは、レート制限割り当てにカウントされます。
Datadog は、Datadog Agent と Cluster Agent の構成を更新して、レート制限が適用されない他のレジストリからプルすることを推奨しています。手順については、コンテナレジストリを変更するを参照してください。
現在のデプロイリージョンで Google Container Registry (gcr.io/datadoghq) にアクセスが不可能な場合は、values.yaml
ファイルで下記のコンフィギュレーションで別のレジストリを使用します。
注:
次のステップ
その他の参考資料