Skip to content

Terraform module for deploying AWS EKS (Kubernetes) resources

License

Notifications You must be signed in to change notification settings

pippiio/aws-eks

Repository files navigation

pippiio aws-eks

Terraform module for deploying AWS EKS (Kubernetes) resources

Usage

module "eks" {
  source = "github.com/pippiio/aws-eks.git"

  name_prefix = "my-"

  config = {
    vpc_id               = "vpc-1234556qwer"
    private_subnet_ids   = ["subnet-qwer1", "subnet-qwer2", "subnet-qwer3"]
    worker_node_count    = 2
    worker_instance_type = "t3.small"
    worker_volume_size   = 20
    api_allowed_ips      = [0.0.0.0/0]
  }
}

Requirements

Name Version
terraform >= 1.2.0
aws ~> 4.0

Variables

config:

Name Type Default Required Description
vpc_id string nil yes Id of VPC to deploy to
private_subnet_ids list(string) nil yes Ids of private subnets to deploy to
public_subnet_ids list(string) nil yes Ids of public subnets to deploy to
cluster_version string 1.22 no Version of EKS cluster
worker_node_count number nil yes Count of worker nodes to deploy
worker_instance_type string nil yes Instance type of worker nodes
worker_volume_size number nil yes Volume size of worker nodes
api_allowed_ips list(string) ["0.0.0.0/0] no Allowed IP's to communicate with cluster API
addons list(string) nil no AWS EKS Addons to install on cluster
efs_enabled list(bool) false no Enable efs for eks
administrator_role_arn string nil no Arn of administrator role for using KMS key
ssh_enabled list(bool) false no Enables SSH access to worker nodes
ssh_security_groups list(string) nil no Allows access to ssh to this list of security groups

name_prefix:

Type Default Required Description
string pippi- no A prefix that will be used on all named resources

default_tags:

Type Default Required Description
map(string) nil no A map of default tags, that will be applied to all resources applicable