https://github.com/anmolnagpal/terraform-eks
Terraform for AWS EKS
https://github.com/anmolnagpal/terraform-eks
aws cluster devops eks eks-cluster hcl kubectl kubernetes terraform
Last synced: 9 months ago
JSON representation
Terraform for AWS EKS
- Host: GitHub
- URL: https://github.com/anmolnagpal/terraform-eks
- Owner: anmolnagpal
- License: mit
- Created: 2018-06-07T11:52:39.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-03-24T10:04:56.000Z (almost 7 years ago)
- Last Synced: 2025-04-07T21:12:03.970Z (10 months ago)
- Topics: aws, cluster, devops, eks, eks-cluster, hcl, kubectl, kubernetes, terraform
- Language: HCL
- Size: 42 KB
- Stars: 81
- Watchers: 2
- Forks: 40
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

> Terraform module for simplified management of Kubernetes servers using EKS
## 🔆 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`
```yml
apiVersion: v1
clusters:
- cluster:
server: EKS_ENDPOINT_URL
certificate-authority-data: BASE64_ENCODED_CA_CERT
name: kubernetes
contexts:
- context:
cluster: kubernetes
user: aws
name: aws
current-context: aws
kind: Config
preferences: {}
users:
- name: aws
user:
exec:
apiVersion: client.authentication.k8s.io/v1alpha1
command: heptio-authenticator-aws
args:
- "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.
```sh
export KUBECONFIG=$KUBECONFIG:~/.kube/config
echo 'export KUBECONFIG=$KUBECONFIG:~/.kube/config' >> ~/.bashrc
```
Now test your configuration
```sh
kubectl get all
```
If everything is fine, you will get your cluster details :)
## 📚Refrence :
- https://docs.aws.amazon.com/eks/latest/userguide/dashboard-tutorial.html
- https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-06-05/amazon-eks-nodegroup.yaml
## 👬 Contribution
- Open pull request with improvements
- Discuss ideas in issues
- Reach out with any feedback [](https://twitter.com/anmol_nagpal)