Skip to content

pavlo-berdiuhin/tf-module-aws-eks

Repository files navigation

aws-eks module

This module creates an EKS cluster with Karpenter node controller.

Userfull links:

Requirements

Name Version
terraform >= 1.3.2
aws >= 5.40
helm >= 2.7
kubectl >= 2.0

Providers

Name Version
aws >= 5.40
aws.us-east-1 >= 5.40
helm >= 2.7
kubectl >= 2.0

Modules

Name Source Version
eks terraform-aws-modules/eks/aws ~> 20
eks_irsa terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks ~> 5.3
karpenter terraform-aws-modules/eks/aws//modules/karpenter ~> 20

Resources

Name Type
helm_release.karpenter resource
kubectl_manifest.gp3_ext4_sc resource
kubectl_manifest.karpenter_node_class resource
kubectl_manifest.karpenter_node_pool resource
aws_ecrpublic_authorization_token.token data source
aws_partition.this data source

Inputs

Name Description Type Default Required
access_entries Map of access entries to add to the cluster, https://github.com/terraform-aws-modules/terraform-aws-eks?tab=readme-ov-file#cluster-access-entry any {} no
additional_tags Additional tags for all resources map(string) {} no
aws_mountpoint_s3 Configuration for aws-mountpoint-s3-csi-driver addon
object({
mountpoint_s3_csi_bucket_arns = optional(list(string), [])
mountpoint_s3_csi_path_arns = optional(list(string), [])
})
null no
aws_region AWS region string n/a yes
cluster_endpoint_public_access EKS cluster public endpoint bool false no
cluster_identity_providers External Identity Providers, e.g Okta, AzureSSO, Google Auth map(any) {} no
cluster_security_group_additional_rules List of additional security group rules to add to the cluster security group created. Set source_node_security_group = true inside rules to set the node_security_group as source any {} no
cluster_version EKS cluster version string n/a yes
create_cloudwatch_log_group Create CloudWatch log group bool false no
deployment_name Deployment name string "eks" no
enable_cluster_creator_admin_permissions Indicates whether or not to add the cluster creator (the identity used by Terraform) as an administrator via access entry bool false no
environment Environment string n/a yes
on_demand_node_group_conf On-demand node group configuration
object({
ami_type = optional(string, "BOTTLEROCKET_ARM_64")
instance_types = optional(list(string), ["m7g.medium"])
min_size = optional(number, 2)
max_size = optional(number, 2)
desired_size = optional(number, 2)
})
{} no
owner Owner string n/a yes
stack Installation stack string n/a yes
subnet_ids List of subnet IDs list(string) n/a yes
team Team name string "devops" no
vpc_id VPC ID string n/a yes

Outputs

Name Description
eks_cluster_certificate_authority_data base64 EKS certificate authority data
eks_cluster_endpoint EKS cluster endpoint
eks_cluster_id EKS cluster ID
eks_oidc_provider_arn EKS OIDC provider ARN
eks_security_group_id EKS Worker nodes security group ID

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages