AWS EKS¶
Provisions a managed EKS cluster with the Datadog Agent deployed as a DaemonSet via Helm. Use this to test Kubernetes-specific agent behavior, the Cluster Agent, or Kubernetes integrations.
Provisioning time
EKS clusters take approximately 20 minutes to create.
Prerequisites¶
EKS requires both an API key and an app key in ~/.test_infra_config.yaml
(or via E2E_APP_KEY).
Create¶
Key options¶
| Flag | Default | Description |
|---|---|---|
--stack-name |
aws-eks |
Suffix for the Pulumi stack name |
--linux-node-group |
true |
Include a Linux (x86_64) node group |
--linux-arm-node-group |
false |
Include a Linux ARM node group |
--bottlerocket-node-group |
true |
Include a Bottlerocket node group |
--windows-node-group |
false |
Include a Windows node group |
--gpu-node-group |
false |
Include a GPU node group (disables all other node groups) |
--auto-mode |
false |
Enable EKS Auto Mode (disables all node groups and Fargate) |
--instance-type |
auto | EC2 instance type for cluster nodes |
--agent-version |
latest | Container image tag (e.g. 7.58.0-rc.3) |
--full-image-path |
— | Full registry path to a custom agent image |
--cluster-agent-full-image-path |
— | Full registry path to a custom Cluster Agent image |
--helm-config |
— | Path to a custom Helm values file to merge with defaults |
--local-chart-path |
— | Path to a local Helm chart |
--kube-version |
latest | Kubernetes version (e.g. 1.31) |
--agent-flavor |
— | Agent flavor (e.g. datadog-fips-agent) |
--no-interactive |
— | Disable clipboard prompt and desktop notification |
Examples¶
# EKS cluster with Windows nodes
dda inv aws.create-eks --windows-node-group=true
# EKS with a specific Kubernetes version and custom Helm values
dda inv aws.create-eks --kube-version=1.31 --helm-config=./my-values.yaml
# GPU-only cluster
dda inv aws.create-eks --gpu-node-group=true
# EKS Auto Mode cluster
dda inv aws.create-eks --auto-mode
# Auto Mode cluster without the Agent or the test workloads
# (the standalone dogstatsd DaemonSet is independent and still deploys)
dda inv aws.create-eks --auto-mode --no-install-agent --no-install-workload
EKS Auto Mode¶
Auto Mode lets AWS manage the data plane — compute, networking and storage — provisioning nodes on demand instead of from a fixed node group.
--auto-mode is a toggle, so pass it bare (not --auto-mode=true). Because AWS
owns the data plane, enabling it turns off every managed node group and the
Fargate profile; node-group flags are ignored.
Two cluster settings differ from a standard cluster:
- Authentication mode is set to
API_AND_CONFIG_MAP. Auto Mode requires access entries, whichCONFIG_MAPalone does not support, andAPI_AND_CONFIG_MAPkeeps the existing SSOaws-authrole mappings working. - The cluster IAM role carries the extra Auto Mode managed policies
(
AmazonEKSComputePolicy,AmazonEKSBlockStoragePolicyV2,AmazonEKSLoadBalancingPolicy,AmazonEKSNetworkingPolicy) and a trust policy grantingsts:TagSessionalongsidests:AssumeRole. See the AWS cluster role reference.
Connect¶
After the cluster is ready, kubectl is configured automatically.
The task prints the cluster context name to use:
Destroy¶
Limitations¶
- GPU node groups are x86_64 only; enabling
--gpu-node-groupdisables all other node groups automatically. - FakeIntake is not supported for EKS.