provider "aws" { region = local.region } locals { name = "bottlerocket-${random_string.suffix.result}" cluster_version = "1.20" region = "eu-west-1" } ################################################################################ # EKS Module ################################################################################ module "eks" { source = "../.." cluster_name = local.name cluster_version = local.cluster_version vpc_id = module.vpc.vpc_id subnets = [module.vpc.private_subnets[0], module.vpc.public_subnets[1]] fargate_subnets = [module.vpc.private_subnets[2]] cluster_endpoint_private_access = true cluster_endpoint_public_access = true write_kubeconfig = false manage_aws_auth = true worker_groups_launch_template = [ { name = "bottlerocket-nodes" ami_id = data.aws_ami.bottlerocket_ami.id instance_type = "t3a.small" asg_desired_capacity = 2 key_name = aws_key_pair.nodes.key_name # Since we are using default VPC there is no NAT gateway so we need to # attach public ip to nodes so they can reach k8s API server # do not repeat this at home (i.e. production) public_ip = true # This section overrides default userdata template to pass bottlerocket # specific user data userdata_template_file = "${path.module}/userdata.toml" # we are using this section to pass additional arguments for # userdata template rendering userdata_template_extra_args = { enable_admin_container = false enable_control_container = true aws_region = data.aws_region.current.name } # example of k8s/kubelet configuration via additional_userdata additional_userdata = <