squareops / 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

Terraform EKS Reference

Terraform reference 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 resources,controllers and utilities to start deploying applications.

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 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 in 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 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.

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.

terraform-eks-reference

Requirements

No requirements.

Providers

No providers.

Modules

Name Source Version
eks squareops/eks/aws 3.1.0
key_pair_eks squareops/keypair/aws 1.0.2
key_pair_vpn squareops/keypair/aws 1.0.2
managed_node_group_production squareops/eks/aws//modules/managed-nodegroup 3.1.0
vpc squareops/vpc/aws 3.3.0

Resources

No resources.

Inputs

No inputs.

Outputs

Name Description
cluster_endpoint Endpoint for EKS Control Plane
cluster_name EKS Cluster Name
cluster_oidc_issuer_url The URL on the EKS cluster for the OpenID Connect identity provider
cluster_security_group_id Security group IDs attached to the cluster control plane
database_subnets List of IDs of Database Subnets
intra_subnets List of IDs of Intra Subnets
kms_policy_arn ARN of KMS policy
private_subnets List of IDs of Private Subnets
public_subnets List of IDs of Public Subnets
vpc_cidr_block The CIDR block of VPC
vpc_id The ID of the VPC
vpn_host_public_ip Public IP Adress of VPN Server
vpn_security_group Security Group ID of VPN Server
worker_iam_role_arn ARN of the EKS Worker Role
worker_iam_role_name The name of the EKS Worker IAM role

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:HTML 66.8%Language:HCL 33.2%