EKS Infrastructure for Demo
Getting Started
There are three ways presented in this repo that will help you to get a cluster up and running:
- eksctl - great for getting started quickly, will also generate Cloudformation templates
- Cloudformation - a good way to present a menu to end users
- Terraform - good for when you're managing more than just AWS resources
eksctl
Run the eksctl script:
./eksctl/script.sh
Cloudformation
Visit the Cloudformation site and upload the cloudformation/amazon-eks-template.yaml
file in order to walk through the form. https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/create/template
You can also click the Launh Stack button below to load a snapshot of the template and get started!
Note: if you use ekctl to create a cluster and want to create more, grab the two files in the cloudfomation bucket here: https://s3.console.aws.amazon.com/s3/home?region=us-east-1# (look for bucket that starts with
cf-templates
)
Terraform
Ensure you have your AWS env vars setup.
Run cd terraform && terraform init
Then run terraform apply
:
terraform apply -var='cluster-name=terraform-eks-demo'
Retrieve the kubeconfig with:
aws eks --region us-east-1 update-kubeconfig --name terraform-eks-demo
Check out the cluster:
kubectl get pods -A
You should see something similar to:
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system aws-node-v9hkw 1/1 Running 0 3m4s
kube-system coredns-75b44cb5b4-7bqnj 1/1 Running 0 6m45s
kube-system coredns-75b44cb5b4-8j78j 1/1 Running 0 6m45s
kube-system kube-proxy-tlmbv 1/1 Running 0 3m4s
Datadog Install
Ensure Datadog Keys Are Exported
export DD_API_KEY=
export DD_APP_KEY=
Operator Installation
As the operator handles all installs, the instructions are as follows:
bash ./operator/operator_deploy.sh
Helm Instructions
If you're more accustomed to a Helm workflow, this repo also has you covered.
Add Helm Repository
helm repo add datadog https://helm.datadoghq.com
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
helm repo update
Deploy Datadog Helm Chart
helm install datadogagent \
--set datadog.apiKey=$DD_API_KEY \
--set datadog.appKey=$DD_APP_KEY \
-f helm/values.yaml datadog/datadog
Then visit https://app.datadoghq.com/screen/integration/86/kubernetes-overview to check on the cluster stats.
Deploy Storedog
kubectl apply -f storedog/