PoC for EKS cluster deployment
NOTE: deploying an EKS cluster will incur cost for AWS resources.
- Download Heptio Authenticator
curl -o heptio-authenticator-aws https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-06-05/bin/linux/amd64/heptio-authenticator-aws
# Linuxcurl -o heptio-authenticator-aws https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-06-05/bin/darwin/amd64/heptio-authenticator-aws
# macOS
- Install Heptio Authenticator
chmod +x heptio-authenticator-aws && sudo mv heptio-authenticator-aws /opt/bin/
# CoreOSchmod +x heptio-authenticator-aws && sudo mv heptio-authenticator-aws /usr/local/bin/
# macOS/Linux
- Install
kubectl
curl -o kubectl https://storage.googleapis.com/kubernetes-release/release/v1.10.3/bin/linux/amd64/kubectl
chmod +x kubectl && sudo mv kubectl /opt/bin/kubectl
# CoreOSchmod +x kubectl && sudo mv kubectl /usr/local/bin/kubectl
# macOS/Linux
- Install Terraform
v0.11.7
(SKIP: If already exists in your host)- Setup Terraform using official Terraform Docker image
chmod +x ./terraform && sudo mv ./terraform /usr/local/bin
# macOS/Ubuntu/Fedorachmod +x ./terraform && sudo mv ./terraform /opt/bin
# CoreOS/RancherOS
terraform config 0.11.7
- Setup Terraform using official Terraform Docker image
- Checkout this repo
./eks cluster up
# Takes ~15minkubectl apply -f nginx.yaml
# Deploy an example Nginx podexport KUBECONFIG=~/.kube/eksconfig
kubectl get pods
# Check if the Nginx pod is runningkubectl get svc -o wide
# Locate the service URL for Nginx- Copy the Nginx URL from previous step and launch the Nginx welcome page via port 8000
- URL may look like
http://a2ec4e6b66a2411e883240aa8289a10c-778396272.us-west-2.elb.amazonaws.com:8000/
- URL may look like
kubectl delete -f nginx.yaml
# Delete Nginx pod if deployed based on the sampleterraform destroy
# Takes ~15min
- Segmentio Stack for VPC related modules
- WillJCJ for EKS related modules