- 重要な情報
- はじめに
- 用語集
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
Datadog Operator は Kubernetes や OpenShift にDatadog Agent をデプロイする方法です。カスタムリソースステータスでデプロイ状況、健全性、エラーを報告し、高度なコンフィギュレーションオプションでコンフィギュレーションミスのリスクを抑えます。
Datadog Operator を使用するには、次の前提条件が必要です。
1.20.0
で行われましたが、バージョン >= v1.11.0
で動作するはずです。以前のバージョンでは、CRD サポートが制限されているため、Operator が期待どおりに機能しない場合があります。datadog-operator
をデプロイするための Helm
。datadog-agent
をインストールするための Kubectl
CLI。Datadog Operator を使用するには、Kubernetes クラスターにデプロイします。次に、Datadog デプロイコンフィギュレーションを含む DatadogAgent
Kubernetes リソースを作成します。
helm repo add datadog https://helm.datadoghq.com
helm install my-datadog-operator datadog/datadog-operator
Datadog Operator をデプロイした後、Kubernetes クラスターでの Datadog Agent のデプロイをトリガーする DatadogAgent
リソースを作成します。このリソースを Datadog-Operator
ネームスペースに作成することにより、Agent はクラスターのすべての Node
に DaemonSet
としてデプロイされます。
以下のテンプレートを使用して、datadog-agent.yaml
マニフェストを作成します。
<DATADOG_API_KEY>
と <DATADOG_APP_KEY>
を Datadog API とアプリケーションキーに置き換えてから、次のコマンドで Agent のインストールをトリガーします。
$ kubectl apply -n $DD_NAMESPACE -f datadog-agent.yaml
datadogagent.datadoghq.com/datadog created
DatadogAgent
リソースの状態は次のコマンドで確認できます。
kubectl get -n $DD_NAMESPACE dd datadog
NAME ACTIVE AGENT CLUSTER-AGENT CLUSTER-CHECKS-RUNNER AGE
datadog-agent True Running (2/2/2) 110m
2-worker-nodes のクラスターでは、各ノードで作成された Agent ポッドが表示されます。
$ kubectl get -n $DD_NAMESPACE daemonset
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
datadog-agent 2 2 2 2 2 <none> 5m30s
$ kubectl get -n $DD_NAMESPACE pod -owide
NAME READY STATUS RESTARTS AGE IP NODE
agent-datadog-operator-d897fc9b-7wbsf 1/1 Running 0 1h 10.244.2.11 kind-worker
datadog-agent-k26tp 1/1 Running 0 5m59s 10.244.2.13 kind-worker
datadog-agent-zcxx7 1/1 Running 0 5m59s 10.244.1.7 kind-worker2
次のコマンドは、上記の手順で作成されたすべての Kubernetes リソースを削除します。
kubectl delete datadogagent datadog
helm delete datadog
datadog-agent.yaml
ファイルを次のコンフィギュレーションで更新して、DaemonSet
の Daemonset.spec.template
に許容範囲を追加します。
kind: DatadogAgent
apiVersion: datadoghq.com/v2alpha1
metadata:
name: datadog
spec:
global:
credentials:
apiKey: <DATADOG_API_KEY>
appKey: <DATADOG_APP_KEY>
override:
nodeAgent:
image:
name: gcr.io/datadoghq/agent:latest
tolerations:
- operator: Exists
この新しいコンフィギュレーションを適用します。
$ kubectl apply -f datadog-agent.yaml
datadogagent.datadoghq.com/datadog updated
DaemonSet の更新は、新しい目的のポッド値を確認することで検証できます。
$ kubectl get -n $DD_NAMESPACE daemonset
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
datadog-agent 3 3 3 3 3 <none> 7m31s
$ kubectl get -n $DD_NAMESPACE pod
NAME READY STATUS RESTARTS AGE
agent-datadog-operator-d897fc9b-7wbsf 1/1 Running 0 15h
datadog-agent-5ctrq 1/1 Running 0 7m43s
datadog-agent-lkfqt 0/1 Running 0 15s
datadog-agent-zvdbw 1/1 Running 0 8m1s
お役に立つドキュメント、リンクや記事: