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 ページを利用すると、インストールプロセスの説明が表示されます。
インストール方法を選択する
以下のインストール方法のいずれかを使用します。
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>
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 サイトに置き換えます。ご使用のサイトは
です (右側で正しいサイトが選択されていることを確認してください)。
上記の構成ファイルを使って Agent をデプロイする
次を実行します。
kubectl apply -f datadog-agent.yaml
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>
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).
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.
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.io | public.ecr.aws | docker hub |
---|
gcr.io/datadoghq | public.ecr.aws/datadog | docker.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 を参照してください。
機能を有効にする
その他の参考資料