From 830586e4488316a78bbebdbfd1247dd7b2296313 Mon Sep 17 00:00:00 2001 From: Samuele Chiocca Date: Wed, 30 Mar 2022 12:45:49 +0200 Subject: [PATCH 1/5] Align master-no-spot-instance with master --- modules/eks/eks.tf | 8 ++------ modules/eks/variables.tf | 3 ++- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/modules/eks/eks.tf b/modules/eks/eks.tf index 6980efe..767f7e5 100644 --- a/modules/eks/eks.tf +++ b/modules/eks/eks.tf @@ -5,12 +5,11 @@ locals { "k8s.io/cluster-autoscaler/enabled" : "true" } - parsed_node_pools = [ for worker in var.node_pools : { "name" : worker.name, - "ami_id" : element(data.aws_ami.eks_worker.*.image_id, index(var.node_pools.*.name, worker.name)), + "os" : worker.os != null ? worker.os : element(data.aws_ami.eks_worker.*.image_id, index(var.node_pools.*.name, worker.name)), "security_group_id" : element(aws_security_group.node_pool.*.id, index(var.node_pools.*.name, worker.name)), "min_size" : worker.min_size, "max_size" : worker.max_size, @@ -30,9 +29,6 @@ EOT ] } - - - module "cluster" { source = "terraform-aws-modules/eks/aws" version = "16.2.0" @@ -64,7 +60,7 @@ module "cluster" { for node_pool in local.parsed_node_pools : { name = lookup(node_pool, "name") - ami_id = lookup(node_pool, "ami_id") + ami_id = lookup(node_pool, "os") asg_desired_capacity = lookup(node_pool, "min_size") asg_max_size = lookup(node_pool, "max_size") asg_min_size = lookup(node_pool, "min_size") diff --git a/modules/eks/variables.tf b/modules/eks/variables.tf index 8c9bc03..9c9180a 100644 --- a/modules/eks/variables.tf +++ b/modules/eks/variables.tf @@ -39,6 +39,7 @@ variable "node_pools" { min_size = number max_size = number instance_type = string + os = optional(string) spot_instance = bool max_pods = optional(number) # null to use default upstream configuration volume_size = number @@ -46,7 +47,7 @@ variable "node_pools" { labels = map(string) taints = list(string) tags = map(string) - eks_target_group_arns = list(string) + eks_target_group_arns = optional(list(string)) additional_firewall_rules = list(object({ name = string direction = string From 868ef0e8e0878155ce31d5677902346981c169b9 Mon Sep 17 00:00:00 2001 From: Samuele Chiocca Date: Wed, 30 Mar 2022 14:43:01 +0200 Subject: [PATCH 2/5] Change badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bac2e6d..22268f3 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Fury EKS Installer -![Release](https://img.shields.io/github/v/release/sighupio/fury-eks-installer?label=Latest%20Release) +![Release](https://img.shields.io/github/v/release/sighupio/https://img.shields.io/badge/Latest%20Release-v1.9.0-blue) ![License](https://img.shields.io/github/license/sighupio/fury-eks-installer?label=License) [![Slack](https://img.shields.io/badge/slack-@kubernetes/fury-yellow.svg?logo=slack&label=Slack)](https://kubernetes.slack.com/archives/C0154HYTAQH) From be61448fbb0ab3592071a69c5a6f8b99bee75eaf Mon Sep 17 00:00:00 2001 From: Samuele Chiocca Date: Wed, 30 Mar 2022 14:45:34 +0200 Subject: [PATCH 3/5] Make spot_instance an optional bool --- modules/eks/variables.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/eks/variables.tf b/modules/eks/variables.tf index 9c9180a..1479545 100644 --- a/modules/eks/variables.tf +++ b/modules/eks/variables.tf @@ -40,7 +40,7 @@ variable "node_pools" { max_size = number instance_type = string os = optional(string) - spot_instance = bool + spot_instance = optional(bool) max_pods = optional(number) # null to use default upstream configuration volume_size = number subnetworks = list(string) # null to use default upstream configuration From 08d3a2e7419732036a75d115ee0a29298410c8d4 Mon Sep 17 00:00:00 2001 From: Samuele Chiocca Date: Wed, 30 Mar 2022 16:17:45 +0200 Subject: [PATCH 4/5] Update README.md Co-authored-by: Ramiro Algozino --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 22268f3..a15ab9a 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Fury EKS Installer -![Release](https://img.shields.io/github/v/release/sighupio/https://img.shields.io/badge/Latest%20Release-v1.9.0-blue) +![Release](https://img.shields.io/badge/Latest%20Release-v1.9.0-blue) ![License](https://img.shields.io/github/license/sighupio/fury-eks-installer?label=License) [![Slack](https://img.shields.io/badge/slack-@kubernetes/fury-yellow.svg?logo=slack&label=Slack)](https://kubernetes.slack.com/archives/C0154HYTAQH) From 94badd55b885023701d52ecff4b8fc6164026af4 Mon Sep 17 00:00:00 2001 From: Samuele Chiocca Date: Wed, 30 Mar 2022 16:29:09 +0200 Subject: [PATCH 5/5] Update EKS readme and examples --- example/eks/main.tf | 40 ++++++++++++++++++++++++++++++++++++---- modules/eks/README.md | 41 ++++++++++++++++++++++++++++++++++++----- 2 files changed, 72 insertions(+), 9 deletions(-) diff --git a/example/eks/main.tf b/example/eks/main.tf index 80058dd..d9692c0 100644 --- a/example/eks/main.tf +++ b/example/eks/main.tf @@ -6,7 +6,7 @@ module "my-cluster" { source = "../../modules/eks" cluster_name = "my-cluster" - cluster_version = "1.14" + cluster_version = "1.20" network = "vpc-id0" subnetworks = [ @@ -25,7 +25,6 @@ module "my-cluster" { min_size : 1 max_size : 2 instance_type : "m5.large" - spot_instance : true volume_size : 100 subnetworks : null eks_target_group_arns : null @@ -38,13 +37,46 @@ module "my-cluster" { ports : "80-80" tags : { "hello" : "tag", - "cluster-tags" : "my-value-OVERRIDE" + "cluster-tags" : "my-value-OVERRIDE-1" } } ] labels : { "node.kubernetes.io/role" : "app" - "sighup.io/fury-release" : "v1.23.0" + "sighup.io/fury-release" : "v1.23.1" + } + taints : [] + tags : { + "node-tags" : "exists" + } + # max_pods : null # To use default EKS setting set it to null or do not set it + },{ + name : "m5-node-pool-spot" + version : null # To use same value as cluster_version + min_size : 1 + max_size : 2 + instance_type : "m5.large" + spot_instance : true # optionally create spot instances + os : "ami-0caf35bc73450c396" # optionally define a custom AMI + volume_size : 100 + subnetworks : null + eks_target_group_arns : null + additional_firewall_rules : [ + { + name : "Debug 2" + direction : "ingress" + cidr_block : "0.0.0.0/0" + protocol : "TCP" + ports : "80-80" + tags : { + "hello" : "tag", + "cluster-tags" : "my-value-OVERRIDE-2" + } + } + ] + labels : { + "node.kubernetes.io/role" : "app" + "sighup.io/fury-release" : "v1.23.1" } taints : [] tags : { diff --git a/modules/eks/README.md b/modules/eks/README.md index e6dcd3d..9612d1f 100644 --- a/modules/eks/README.md +++ b/modules/eks/README.md @@ -58,7 +58,7 @@ module "my-cluster" { source = "../../modules/eks" cluster_name = "my-cluster" - cluster_version = "1.14" + cluster_version = "1.20" network = "vpc-id0" subnetworks = [ @@ -77,7 +77,6 @@ module "my-cluster" { min_size : 1 max_size : 2 instance_type : "m5.large" - spot_instance : true volume_size : 100 subnetworks : null eks_target_group_arns : null @@ -90,19 +89,51 @@ module "my-cluster" { ports : "80-80" tags : { "hello" : "tag", - "cluster-tags" : "my-value-OVERRIDE" + "cluster-tags" : "my-value-OVERRIDE-1" } } ] labels : { "node.kubernetes.io/role" : "app" - "sighup.io/fury-release" : "v1.23.0" + "sighup.io/fury-release" : "v1.23.1" + } + taints : [] + tags : { + "node-tags" : "exists" + } + }, + { + name : "m5-node-pool-spot" + version : null # To use same value as cluster_version + min_size : 1 + max_size : 2 + instance_type : "m5.large" + spot_instance : true # optionally create spot instances + os : "ami-0caf35bc73450c396" # optionally define a custom AMI + volume_size : 100 + subnetworks : null + eks_target_group_arns : null + additional_firewall_rules : [ + { + name : "Debug 2" + direction : "ingress" + cidr_block : "0.0.0.0/0" + protocol : "TCP" + ports : "80-80" + tags : { + "hello" : "tag", + "cluster-tags" : "my-value-OVERRIDE-2" + } + } + ] + labels : { + "node.kubernetes.io/role" : "app" + "sighup.io/fury-release" : "v1.23.1" } taints : [] tags : { "node-tags" : "exists" } - # max_pods : null # To use default EKS setting set it to null or do not set it }, ]