Skip to main content

EKS Provisioning Using TF

Full script is available at

https://github.com/JaydeepUniverse/terraform/tree/master/aws/eks

Prerequisites

  • Install kubectl
  • Install AWS CLI
  • Install AWS IAM Authenticator
  • Update kubeconfig file if needed
    • aws eks update-kubeconfig --name eksClusterName

Please keep in mind about below commented notes while changing names of name,cluster,environment else EKS,ASG,VPC all resources will be created but while running kubectl get nodes command it won't show any worker nodes

                
provider "aws" {
    region = "us-east-2" # region
  }
  
module "vpc" {
    source        = "../../modules/vpc"
    vpc-location  = "Ohio" # location name as per region
    namespace     = "nextgen-cicd" # namespace
    name          = "vpc" # KEEP IT AS IS
    stage         = "dev" # stage name
    cluster-name  = "nextgen-cicd-dev-eks-cluster" # clustername = namespace-stagename-eks-cluster
}
  
module "eks_workers" {
    namespace    = "nextgen-cicd" # namespace
    stage        = "dev" # stage name
    name         = "eks" # KEEP IT AS IS
    cluster_name = "nextgen-cicd-dev-eks-cluster" # clustername = namespace-stagename-eks-cluster
    key_name     = "nextgen-cicd-key" # MAKE SURE THIS KEY MUST BE CREATED BEFORE RUNNING THIS SCRIPT
}
  
module "eks_cluster" {
    namespace  = "nextgen-cicd" # namespace
    stage      = "dev" # stage name
    name       = "eks" # KEEP IT AS IS
    region     = "us-east-2" # region
}
                
            

Comments

Popular posts from this blog

Install Python3.7 on Ubuntu localhost using Ansible Playbook

Install Python3.7 on Ubuntu localhost using Ansible Playbook --- - hosts: localhost tasks: - name: Upgrade all packages to the latest version apt: name: "*" state: latest when: ansible_facts['os_family'] == "Debian" - name: Install software-properties-common package: name: software-properties-common state: present when: ansible_facts['os_family'] == "Debian" - name: Add repository apt_repository: repo: ppa:deadsnakes/ppa state: present when: ansible_facts['os_family'] == "Debian" - name: Again Upgrade all packages to the latest version apt: name: "*" state: latest when: ansible_facts['os_family'] == "Debian" - name: Install python3.7 package: name: python3.7...

How to clone Github repository using SSH

Run ssh-keygen Upload ssh public key to github account curl -u "gitUsername:password" --data '{"title":"keyName","key":"'"$(cat ~/.ssh/id_rsa.pub)"'"}' https://api.github.com/user/keys Sample output of ssh public key upload command { "id": 1234567890, "key": "ssh-rsa aaaaaaaaaaaaaaaaaaaa/dddd/+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "url": "https://api.github.com/user/keys/123456...

How to read user's input in Bash Script

Create shell script file as below: #!/bin/bash echo "Enter your name!" read name echo "Welcome to Mars $name" Make script file executable chmod u+x test.sh Run script sh test.sh Output of the script: Enter your name! Rectangle Welcome to Mars Rectangle