Install Datadog Agent on Kubernetes
Learn how to install the Datadog Agent for Kloudfuse, depending on your specific business scenario.
Install a New Datadog Agent
Consider these installation scenarios:
-
Same VPC, Same Cluster
-
Same VPC, Diff Cluster
-
Different VPC
This is the default scenario.
-
Use the dd-values-kfuse-customer.yaml file for the agent.
-
Add the datadog helm repo:
helm repo add datadog https://helm.datadoghq.com helm repo update
-
Install the datadog agent with updated values.
As necessary, create a separate namespace for the agent.
kubectl create namespace kfuse-agent helm upgrade --install kfuse-agent -f dd-values-kfuse.yaml datadog/datadog -n kfuse-agent --version 3.6.7 (1)
1 We use the dd-values-kfuse.yaml
file here; replace with the filename relevant to your scenario.
-
Search for
_url
in the provided file. For each instance:-
Comment out the Default Scenario.
-
Remove comment marks from Scenario 1.
-
-
To determine the necessary IP address values, follow these steps:
-
Get ingress internal IP:
kubectl get svc -n kfuse | grep kfuse-ingress-nginx-controller-internal kfuse-ingress-nginx-controller-internal LoadBalancer 10.53.250.80 10.53.232.3 80:32716/TCP,443:30767/TCP 125m
-
Replace all settings with
_url
suffix.For example:
dd_url: http://10.53.250.80/ingester logs_dd_url: "10.53.250.80:80"
-
In this scenario, Kloudfuse appears as "customer.kloudfuse.io".
-
Search for
_url
in the provided file. For each instance:-
Comment out the Default Scenario.
-
Remove comment marks from Scenario 2.
-
-
Replace "customer.kloudfuse.io" with your custom DNS name entry.
-
Replace all settings with
_url
suffix.For example:
dd_url: http://customer.kloudfuse.io/ingester logs_dd_url: "customer.kloudfuse.io:443"
Install with an Existing Datadog Agent
Datadog Agent supports dual shipping. If you have an existing datadog agent, you can use it to send your data streams to the Kloudfuse platform.
Prerequisites
When using an existing datadog agent and pointing to a Kloudfuse ingestion endpoint instead of Datadog HQ, make sure to:
-
Use Datadog agent version 7.41 or higher.
-
Validate the installation:
-
Check that the chart version with helm list is 3.1.10 or higher:
helm list -n <namespace-where-agent-is-installed>
-
Check the image version of the agent using
describe pod
on on thedd-agent pod
:kkubectl describe pod -n <namespace-where-agent-is-installed> | grep Image Image: gcr.io/datadoghq/agent:7.36.0
-
Install
Consider these installation scenarios:
-
Same VPC, Same Cluster
-
Same VPC, Diff Cluster
-
Different VPC
This is the default scenario.
-
Use the dd-values-kfuse-customer.yaml file for the agent.
-
Run the Install Command.
-
Search for
_url
in the provided file. For each instance:-
Comment out the Default Scenario.
-
Remove comment marks from Scenario 1.
-
-
To determine the necessary IP address values, follow these steps:
-
Get ingress internal IP:
kubectl get svc -n kfuse | grep kfuse-ingress-nginx-controller-internal kfuse-ingress-nginx-controller-internal LoadBalancer 10.53.250.80 10.53.232.3 80:32716/TCP,443:30767/TCP 125m
-
Replace all settings with
_url
suffix.For example:
dd_url: http://10.53.250.80/ingester logs_dd_url: "10.53.250.80:80"
-
In this scenario, Kloudfuse appears as "customer.kloudfuse.io".
-
Search for
_url
in the provided file. For each instance:-
Comment out the Default Scenario.
-
Remove comment marks from Scenario 2.
-
-
Replace "customer.kloudfuse.io" with your custom DNS name entry.
-
Replace all settings with
_url
suffix.For example:
dd_url: http://customer.kloudfuse.io/ingester logs_dd_url: "customer.kloudfuse.io:443"
Install Command
-
Add the Datadog helm repo:
helm repo add datadog https://helm.datadoghq.com helm repo update
-
Install the Datadog agent with updated values.
Create separate namespace for the agent you are installing.
kubectl create namespace kfuse-agent helm upgrade --install kfuse-agent -f dd-values-kfuse.yaml datadog/datadog -n kfuse-agent --version <version-number>
Configure Helm
Add the following configurations into the datadog agent’s helm
values, and remember to add change for each stream
-
Add this code under the
agents.customAgentConfig
key:additional_endpoints: "http://<kfuse-ingress-external-ip>/ingester": - <api_key> use_v2_api: series: true logs_config: ... use_v2_api: false additional_endpoints: - api_key: <api_key> Host: <kfuse-ingress-external-ip> Port: 443 use_compression: true apm_config: ... additional_endpoints: "https://kfuse-ingress-external-ip>/ingester": - <api_key> process_config: ... additional_endpoints: "https://kfuse-ingress-external-ip>": - <api_key> metadata_providers: - name: host interval: 300
-
Add this code under the
clusterAgent.datadog_cluster_yaml
key:additional_endpoints: "http://<kfuse-ingress-external-ip>/ingester": - <api_key> use_v2_api: series: true process_config: ... additional_endpoints: "https://kfuse-ingress-external-ip>": - <api_key> orchestrator_explorer: ... additional_endpoints: "https://kfuse-ingress-external-ip>": - <api_key>