mcpField
A
agent-install

agent-install

github.com/datadog-labsクラウド・DevOps180431 回インストール6 日前に更新
リポジトリ

agent-install について

Kubernetes 上で Datadog Agent をインストールし、動作を確認する手順型スキルです。前提条件、Operator のデプロイ、シークレット作成、Agent 設定、認証確認を案内し、認証情報の安全な取り扱いを徹底します。

主な機能

  1. 01認証情報とクラスターコンテキストの確認
  2. 02Helm による Datadog Operator のインストール
  3. 03コマンドによる API キー Secret の作成
  4. 04DatadogAgent リソースの適用
  5. 05Agent の準備状態と認証の確認

活用シーン

  1. 01Kubernetes クラスターへの Datadog Agent の導入
  2. 02既存の Datadog インストールの確認
  3. 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 --version
    
    省略しないでください — pup --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_VERSIONhelm 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 を実行しないでください

コメント