Terraform for AWS EKS
Switch branches/tags
Clone or download
Latest commit a17868d Oct 3, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Update issue templates Jun 7, 2018
json update Jun 16, 2018
.gitignore .gitignore update Oct 3, 2018
LICENSE Create LICENSE Aug 20, 2018
README.md Update README.md Aug 24, 2018
cluster.tf update Jun 16, 2018
main.tf update Jun 21, 2018
nodes.tf update Jun 21, 2018
output.tf update Jun 16, 2018
subnet.tf update Jun 21, 2018
variable.tf update Jun 21, 2018


Terraform module for simplified management of Kubernetes servers using EKS

Software License Donate

🔆 Highlights

  • EKS Cluster AWS managed Kubernetes cluster of master servers
  • AutoScaling Group contains 2 m4.large instances based on the latest EKS Amazon Linux 2 AMI
  • Associated VPC, Internet Gateway, Security Groups, and Subnets Operator managed networking resources for the EKS Cluster and worker node instances
  • Associated IAM Roles and Policies Operator managed access resources for EKS and worker node instances

🎨 Architecture

🔰Getting Started

Follow the steps below to get started

🔨 Setting Up Kubectl

Create a kubeconfig file for manging the EKS Cluster.

Login to your kubectl node and insert the codeblock to .kube/config

apiVersion: v1
- cluster:
    server: EKS_ENDPOINT_URL
    certificate-authority-data: BASE64_ENCODED_CA_CERT   
  name: kubernetes
- context:
    cluster: kubernetes
    user: aws
  name: aws
current-context: aws
kind: Config
preferences: {}
- name: aws
      apiVersion: client.authentication.k8s.io/v1alpha1
      command: heptio-authenticator-aws
        - "token"
        - "-i"
        - "CLUSTER_NAME"
        - "-r"
        - ""

Replace EKS_ENDPOINT_URL with your EKS Endpoint URL, BASE64_ENCODED_CA_CERT with certificateAuthority and CLUSTER_NAME with EKS Cluster name.

Save the configuration file and execute following commands to use it.

export KUBECONFIG=$KUBECONFIG:~/.kube/config

echo 'export KUBECONFIG=$KUBECONFIG:~/.kube/config' >> ~/.bashrc

Now test your configuration

kubectl get all

If everything is fine, you will get your cluster details :)

👬 Contribution

  • Open pull request with improvements

  • Discuss ideas in issues

  • Reach out with any feedback Twitter URL