Skip to content

Using Terraform to provision EKS - a Kubernetes cluster on AWS cloud

Notifications You must be signed in to change notification settings

colinbut/sales-order-system-2-infrastructure-eks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sales Order System 2.0: Kubernetes (AWS EKS)

This project is a direct spin-off from the main Sales Order System 2.0 project. Whereas that project showcases the theme of "Application Development" - this project demonstrates in particular the Infrastructure as Code concept of Infrastructure Provisioning.

This project show an alternative infrastructure platform to run the Sales Order System application. This particular project provisions a Kubernetes Cluster to manage a series of Docker Containers instead of running Docker Containers directly within EC2 instances as demonstrated in this sister project - Sales Order System 2.0: Infrastructure (Docker on EC2).

This project uses Terraform to provision a Kubernetes Cluster and a set of Worker Nodes to run inside the AWS Cloud using AWS's managed Kubernetes service (EKS).

Table of Contents

Provisioning Guide

Prerequisites

Require to provision the IAM roles required for creating both the EKS cluster and the EKS worker node groups:

EKS Cluster Roles

cd mgmt/roles/cluster-roles/
terraform init -backend-config=../../../config/backend.hcl
terraform plan
terraform apply

Worker Node Group Roles

cd mgmt/roles/worker-group-roles/
terraform init -backend-config=../../../config/backend.hcl
terraform plan
terraform apply

Provison App Network

Require to create the App Network (VPC, Subnets etc) first. For simplicity, I've only provisioned a VPC with 3 Public Subnets with a mandatory Internet Gateway for access to/from the public internet.

See live/[environment]/app-network/README.md

Provision EKS Cluster

See live/[environment]/eks-cluster/README.md

Provision EKS Worker Node Group

See live/[environment]/eks-workder-node-group/README.md

Releases

No releases published

Packages

No packages published

Languages