aadesh-bhardwaj / terraform-eks-reference

A reference repository to deploy a production ready eks cluster. This reference takes care of provisioning a secure VPC network with VPN , deploy an EKS cluster and configure it with required controllers and utilities

Home Page:https://squareops.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Requirements and Prerequisites

  1. An AWS account
  2. A system with terraform and kubectl installed

This repository contains Terraform configuration files for deploying a set of modules in a specific order. The tfstate module must be deployed first, followed by main module.

Deploying the tfstate Module

The tfstate module is used for storing the Terraform state file remotely, which is a recommended practice to ensure consistency and collaboration among team members.

To deploy the tfstate module, navigate to the tfstate directory and run the following commands:

  1. terraform init
  2. terraform plan
  3. terraform apply

Once you have provided the required input, Terraform will create the necessary resources for the tfstate module.

Deploying the EKS Cluster

After the tfstate module has been deployed, you can deploy the the EKS cluster setup. Creating an EKS cluster involves several steps, including setting up a Virtual Private Cloud (VPC), creating an EKS cluster, configuring an EKS node group, and bootstrapping the cluster.

VPC

The squareops/vpc/aws module available on the Terraform Registry is designed to create and manage Virtual Private Cloud (VPC) resources in AWS (Amazon Web Services).

The module can be used to create a new VPC or use an existing one, along with its associated resources such as Subnets, Route Tables, Security Groups, Network ACL(s) (NACL), and Internet Gateway (IGW). It offers a simplified and standardized way to create VPC infrastructure, while also providing flexibility to customize VPC resources based on specific requirements.

The squareops/vpc/aws module offers a range of configuration options, including the ability to specify CIDR blocks for VPC and subnet ranges, assign names and tags to VPC resources, enable DNS support, and configure NAT gateways. Additionally, the module provides pre-configured modules for creating subnets with different availability zones(AZs), route tables, and security groups.

By using this module, AWS users can save time and effort in setting up VPC infrastructure, and ensure that their VPCs are created in a consistent and reproducible manner. The module is open source and maintained by SquareOps, a consulting company that specializes in cloud infrastructure and DevOps automation.

EKS

The squareops/eks/aws module available on the Terraform Registry is designed to create and manage an EKS (Elastic Kubernetes Service) cluster in AWS (Amazon Web Services).

The module provides a simplified and standardized way to create and manage the kubernetes control plane and worker nodes in EKS. It automates the process of creating the necessary EKS resources such as VPC, subnets, security groups, IAM roles and policies, and the EKS cluster itself.

The squareops/eks/aws module offers a range of configuration options, such as the ability to specify the number of worker nodes, instance types, and desired capacity. It also provides pre-configured modules for configuring worker node groups with different instance types, adding custom tags, and setting up the kubernetes metrics server.

By using this module, AWS users can set up a kubernetes cluster on EKS in a simple, efficient, and reproducible manner. It also ensures that the EKS cluster is created with the best practices in mind, and that it is secured according to industry standards. The module is open source and maintained by SquareOps, a consulting company that specializes in cloud infrastructure and DevOps automation.

EKS-BOOTSTRAP

The squareops/eks-bootstrap/aws module available on the Terraform Registry is designed to bootstrap an EKS (Elastic Kubernetes Service) cluster in AWS (Amazon Web Services) with the necessary resources to run a kubernetes workload.

The module provides a simplified and standardized way to create the kubernetes worker nodes in EKS, and to deploy the necessary add-ons and configurations to run kubernetes workloads. It automates the process of creating the necessary EKS resources.

By using this module, AWS users can save time and ensure that their kubernetes workloads are deployed in a consistent and reproducible manner. It also ensures that the EKS cluster is created with the best practices in mind, and that it is secured according to industry standards. The module is open source and maintained by SquareOps, a consulting company that specializes in cloud infrastructure and DevOps automation.

About

A reference repository to deploy a production ready eks cluster. This reference takes care of provisioning a secure VPC network with VPN , deploy an EKS cluster and configure it with required controllers and utilities

https://squareops.com

License:Apache License 2.0


Languages

Language:HCL 100.0%