Skip to content

Latest commit

 

History

History
 
 

amazon_eks_blueprints

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Datadog Blueprints Add-On for Amazon EKS Blueprints

Overview

Amazon Elastic Kubernetes Service (EKS) is a managed Kubernetes service that automates certain aspects of deployment and maintenance for any standard Kubernetes environment.

Amazon EKS Blueprints is a framework that consolidates cluster configuration and deployment tools.

The Datadog Blueprints add-on uses Blueprints to deploy the Datadog Agent on Amazon EKS.

Setup

Installation

npm install @datadog/datadog-eks-blueprints-addon

Usage

Using an existing Kubernetes secret

import * as cdk from 'aws-cdk-lib';
import * as blueprints from '@aws-quickstart/eks-blueprints';
import { DatadogAddOn } from '@datadog/datadog-eks-blueprints-addon';
const app = new cdk.App();
const addOns: Array<blueprints.ClusterAddOn> = [
    new DatadogAddOn({
        // Kubernetes secret holding Datadog API key
        // The value should be set with the `api-key` key in the secret object.
        apiKeyExistingSecret: '<secret name>'
    })
];
const account = '<aws account id>'
const region = '<aws region>'
const props = { env: { account, region } }
new blueprints.EksBlueprint(app, { id: '<eks cluster name>', addOns}, props)

Using AWS Secrets Manager

Store your Datadog API key using AWS Secrets Manager:

aws secretsmanager create-secret --name <secret name> --secret-string <api_key> --region <aws region>

Refer to the previously created secret with apiKeyAWSSecret.

import * as cdk from 'aws-cdk-lib';
import * as blueprints from '@aws-quickstart/eks-blueprints';
import { DatadogAddOn } from '@datadog/datadog-eks-blueprints-addon';
const app = new cdk.App();
const addOns: Array<blueprints.ClusterAddOn> = [
    new DatadogAddOn({
        apiKeyAWSSecret: '<secret name>'
    })
];
const account = '<aws account id>'
const region = '<aws region>'
const props = { env: { account, region } }
new blueprints.EksBlueprint(app, { id: '<eks cluster name>', addOns}, props)

Configuation

Options

Option Description Default
apiKey Your Datadog API key ""
appKey Your Datadog app key ""
apiKeyExistingSecret Existing Kubernetes Secret storing the API key ""
appKeyExistingSecret Existing Kubernetes Secret storing the app key ""
apiKeyAWSSecret Secret in AWS Secrets Manager storing the API key ""
appKeyAWSSecret Secret in AWS Secrets Manager storing the app key ""
namespace Namespace to install the Datadog Agent "default"
version Version of the Datadog Helm chart "2.28.13"
release Name of the Helm release "datadog"
repository Repository of the Helm chart "https://helm.datadoghq.com"
values Configuration values passed to the chart. See options. {}

See the Datadog Helm chart for all Agent configuration options. You can then pass these values using the values option.

Metric collection

Monitoring EKS requires that you set up one of the following Datadog integrations:

Also set up the integrations for any other AWS services that you are running with EKS, such as ELB.

Data Collected

Troubleshooting

Need help? Contact Datadog support.