agent-install について
Kubernetes 上で Datadog Agent をインストールし、動作を確認する手順型スキルです。前提条件、Operator のデプロイ、シークレット作成、Agent 設定、認証確認を案内し、認証情報の安全な取り扱いを徹底します。
主な機能
- 01認証情報とクラスターコンテキストの確認
- 02Helm による Datadog Operator のインストール
- 03コマンドによる API キー Secret の作成
- 04DatadogAgent リソースの適用
- 05Agent の準備状態と認証の確認
活用シーン
- 01Kubernetes クラスターへの Datadog Agent の導入
- 02既存の Datadog インストールの確認
- 03Agent の認証エラーの調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ datadog-labs/ agent-skills --skill agent-installインストール後、Claude Code で/agent-installを入力して読み込まれたか確認します。
詳細
Kubernetes に Datadog Agent をインストールする
何よりも先に:
## 作業前に解決するコンテキストのすべての変数を完全に解決してください。すべての変数に具体的な値が設定されるまで、ステップ 1 を開始しないでください。
フェーズ 0:認証情報を読み込む
[ -f environment ] && source environment
echo "DD_API_KEY set: $([ -n "${DD_API_KEY:-}" ] && echo yes || echo no)"
echo "DD_SITE: ${DD_SITE:-not set}"
echo "helm: $(helm version --short 2>/dev/null || echo NOT FOUND)"
helm が見つからない場合 — ユーザーに次のように伝えます。
このスキルには
helmが必要です。次のコマンドでインストールしてください。brew install helm # macOS # または、その他のプラットフォームについては https://helm.sh/docs/intro/install/ を参照してくださいインストールが完了したらお知らせください。続行します。
helm が利用可能になるまで、先に進まないでください。
DD_API_KEY がすでに設定されている場合 — 前提条件に進みます。
DD_API_KEY が設定されていない場合 — ユーザーに次のように伝えます。
続行するには、次の 2 つが必要です。
1. Datadog API Key — Agent を Datadog アカウントで認証するために使用します。次の場所で確認または作成できます:https://app.datadoghq.com/organization-settings/api-keys
2. Datadog Site — Datadog アカウントがあるリージョンです。ほとんどのアカウントでは
datadoghq.comを使用します。Datadog の URL で確認してください(例:app.datadoghq.eu→ サイトはdatadoghq.eu)。その他の選択肢:us3.datadoghq.com、us5.datadoghq.com、ap1.datadoghq.com。認証情報を設定するには、このチャットで次のコマンドを実行してください(
!接頭辞を付けると、このセッションで実行されます)。! export DD_API_KEY=your-api-key-here ! export DD_SITE=datadoghq.com
ユーザーがコマンドを実行するまで待機し、続行する前に上記の確認を再実行してください。
前提条件
- Kubernetes v1.20+ —
kubectl version - helm v3+ —
helm version - 接続先クラスターが設定された kubectl —
kubectl config current-context - pup-cli がインストール済み —
pup --versionで確認します。ない場合は、今すぐインストールしてください。
省略しないでください —if [[ "$(uname)" == "Darwin" ]]; then brew tap datadog-labs/pack && brew install pup else PUP_VERSION=$(curl -s https://api.github.com/repos/datadog-labs/pup/releases/latest | grep '"tag_name"' | cut -d'"' -f4) curl -L "https://github.com/datadog-labs/pup/releases/download/${PUP_VERSION}/pup_linux_amd64.tar.gz" | tar xz -C /usr/local/bin pup chmod +x /usr/local/bin/pup fi pup --versionpup --versionが成功してから続行してください。
作業前に解決するコンテキスト
| 変数 | 解決方法 |
|---|---|
CLUSTER_NAME | リポジトリの IaC、スクリプト、または kubectl config current-context を確認します |
DD_SITE | ユーザーに尋ねます。デフォルト:datadoghq.com。一般的な選択肢:datadoghq.eu、us3.datadoghq.com、us5.datadoghq.com、ap1.datadoghq.com。全リスト:https://docs.datadoghq.com/getting_started/site/ |
AGENT_NAMESPACE | リポジトリですでに datadog-agent が一貫して使われている場合を除き、datadog を使用します |
CHART_VERSION | helm search repo datadog/datadog-operator --versions | head -5 を実行し、最新の安定版を使用します |
ステップ 1:既存の Agent インストールを確認する
Claude が実行
helm list -A | grep -i datadog
リリースに deployed と表示される場合 — Agent はすでにインストールされています。ステップ 5 に進んで正常性を確認し、その後終了します。
出力がない場合 — 既存のインストールはありません。ステップ 2 に進みます。
ステップ 2:Datadog Operator をインストールする
Claude が実行
helm repo add datadog https://helm.datadoghq.com
helm repo update
helm upgrade --install datadog-operator datadog/datadog-operator \
--namespace <AGENT_NAMESPACE> \
--create-namespace \
--version <CHART_VERSION>
kubectl wait --for=condition=Ready pod \
-l app.kubernetes.io/name=datadog-operator \
-n <AGENT_NAMESPACE> \
--timeout=120s
Operator の Pod が Running の場合 — ステップ 3 に進みます。
エラー:120s 経過後も Pod の準備ができていません — イメージのプル状況を確認してください:kubectl describe pod -l app.kubernetes.io/name=datadog-operator -n <AGENT_NAMESPACE>。
ステップ 3:API Key Secret を作成する
ターミナルでの作業
export DD_API_KEY=<your-api-key>
kubectl create secret generic datadog-secret \
--from-literal api-key=$DD_API_KEY \
--namespace <AGENT_NAMESPACE>
secret/datadog-secret created と表示された場合 — ステップ 4 に進みます。
エラー:AlreadyExists — 再作成するかどうかを判断する前に、ステップ 5 でどのキーが格納されているかを確認してください。
ステップ 4:DatadogAgent リソースをデプロイする
[DECISION: クラスターの種類]
- セルフホスト(minikube、kind):
spec.global内にkubelet.tlsVerify: falseを含めます - マネージド(GKE、EKS、AKS):
kubelet.tlsVerifyは完全に省略します
[DECISION: このセッションで APM/SSI も有効にするか]
- はい:APM 用に別の
DatadogAgentを作成しないでください —enable-ssiに従って、この同じマニフェストにfeatures.apmを追加します。マニフェストは 1 つだけです。 - いいえ:以下のマニフェストをそのまま使用します。
以下を datadog-agent.yaml として保存します。
apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
name: datadog
namespace: <AGENT_NAMESPACE>
spec:
global:
clusterName: <CLUSTER_NAME>
site: <DD_SITE>
credentials:
apiSecret:
secretName: datadog-secret
keyName: api-key
# Self-hosted clusters only (minikube, kind):
# kubelet:
# tlsVerify: false
features:
orchestratorExplorer:
enabled: true
clusterChecks:
enabled: true
logCollection:
enabled: true
containerCollectAll: false
Claude が実行
kubectl apply -f datadog-agent.yaml
kubectl wait --for=condition=Ready pod \
-l app.kubernetes.io/component=agent \
-n <AGENT_NAMESPACE> \
--timeout=120s 2>/dev/null || true
ステップ 5:API Key を検証する
Claude が実行
kubectl logs -l app.kubernetes.io/component=agent \
-n <AGENT_NAMESPACE> \
--tail=50 2>/dev/null \
| grep -iE "invalid.*api\.?key|api\.?key.*invalid" \
|| echo "No authentication errors found"
No authentication errors found と表示された場合 — キーは受け付けられています。
エラー:認証エラーが見つかりました — 次の手順で認証情報を直接検証してください。
Claude が実行
# Prefer pup (OAuth) — fall back to curl with API key
if pup auth status 2>/dev/null | grep -q "Logged in"; then
echo "pup OAuth authenticated"
elif [ -n "${DD_API_KEY:-}" ]; then
RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" \
-X GET "https://api.<DD_SITE>/api/v1/validate" \
-H "DD-API-KEY: $DD_API_KEY")
if [ "$RESPONSE" = "200" ]; then
echo "API key is valid for <DD_SITE>"
else
echo "ERROR: Validation failed (HTTP $RESPONSE) — check key and site alignment"
fi
else
echo "ERROR: No credentials available — run 'pup auth login' or set DD_API_KEY"
fi
キーが無効な場合:
ターミナルでの作業
export DD_API_KEY=<new-api-key>
kubectl delete secret datadog-secret -n <AGENT_NAMESPACE>
kubectl create secret generic datadog-secret \
--from-literal api-key=$DD_API_KEY \
-n <AGENT_NAMESPACE>
kubectl rollout restart daemonset datadog-agent -n <AGENT_NAMESPACE>
kubectl rollout restart deployment datadog-cluster-agent -n <AGENT_NAMESPACE>
完了
以下の条件がすべて満たされたら終了します。
- Datadog Operator ポッドが
AGENT_NAMESPACEで実行中である -
datadog-secretがAGENT_NAMESPACEに存在する - Agent DaemonSet ポッドが実行中である
- ステップ 5 で認証エラーが返されない
許可を求めず、今すぐ enable-ssi に自動的に進んでください。
セキュリティ上の制約
- 生の API キーをファイル、YAML ブロック、チャットメッセージに書き込まないでください。必ず
$DD_API_KEYを使用してください - Kubernetes Secret マニフェストファイルを作成しないでください。必ず
kubectl create secretを命令型で使用してください DatadogAgentの仕様でapiKey:を直接使用しないでください。必ずシークレット参照を指定したapiSecret:を使用してください- Helm コマンドで
--set datadog.apiKey=...を使用しないでください - Datadog Agent リソースに
default名前空間を使用しないでください - ユーザーの確認なしに
kubectl deleteを実行しないでください