Terraform EKS submodule: eks managed node groups
Terraform EKS module: eks_managed_node_groups
- Submodule: https://registry.terraform.io/modules/terraform-aws-modules/eks/aws/latest/submodules/eks-managed-node-group
- Input: https://registry.terraform.io/modules/terraform-aws-modules/eks/aws/latest#input_eks_managed_node_groups
- Example: https://registry.terraform.io/modules/terraform-aws-modules/eks/aws/latest/examples/eks_managed_node_group
module.eks_managed_node_group
module.eks_managed_node_group
use_custom_launch_template
fargate_profiles
eks_managed_node_group_defaults
Examples
eks_managed_node_groups = { one = { name = "node-group-1" instance_types = ["t3.small"] min_size = 1 max_size = 3 desired_size = 2 # https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/docs/faq.md#why-are-there-no-changes-when-a-node-groups-desired_size-is-modified pre_bootstrap_user_data = <<-EOT echo 'foo bar' EOT vpc_security_group_ids = [ aws_security_group.node_group_one.id ] } two = { name = "node-group-2" instance_types = ["t3.medium"] min_size = 1 max_size = 2 desired_size = 1 pre_bootstrap_user_data = <<-EOT echo 'foo bar' EOT vpc_security_group_ids = [ aws_security_group.node_group_two.id ] } }
module "eks_managed_node_group" { source = "terraform-aws-modules/eks/aws//modules/eks-managed-node-group" name = "separate-eks-mng" cluster_name = "my-cluster" cluster_version = "1.24" subnet_ids = ["subnet-abcde012", "subnet-bcde012a", "subnet-fghi345a"] // The following variables are necessary if you decide to use the module outside of the parent EKS module context. // Without it, the security groups of the nodes are empty and thus won't join the cluster. cluster_primary_security_group_id = module.eks.cluster_primary_security_group_id vpc_security_group_ids = [module.eks.node_security_group_id] // Note: `disk_size`, and `remote_access` can only be set when using the EKS managed node group default launch template // This module defaults to providing a custom launch template to allow for custom security groups, tag propagation, etc. // use_custom_launch_template = false // disk_size = 50 // // # Remote access cannot be specified with a launch template // remote_access = { // ec2_ssh_key = module.key_pair.key_pair_name // source_security_group_ids = [aws_security_group.remote_access.id] // } min_size = 1 max_size = 10 desired_size = 1 instance_types = ["t3.large"] capacity_type = "SPOT" labels = { Environment = "test" GithubRepo = "terraform-aws-eks" GithubOrg = "terraform-aws-modules" } [[taints]] = { dedicated = { key = "dedicated" value = "gpuGroup" effect = "[[NO_SCHEDULE]]" } } tags = { Environment = "dev" Terraform = "true" } }
Related
eks-cluster.tf
- FAQ: https://github.com/terraform-aws-modules/terraform-aws-eks/blob/master/docs/faq.md#why-are-there-no-changes-when-a-node-groups-desired_size-is-modified
taints
eks_managed_node_groups
Terraform submodule
See also
Advertising: