mirror of
https://github.com/ysoftdevs/terraform-aws-eks.git
synced 2026-03-25 19:01:04 +01:00
Cosmetic fixes (#131)
* changing syntax when referring to map keys without lookup function * Replacing map function with actual maps for easier reading * replacing map function in example * replacing map function in workers.tf and readme/main * update changelog
This commit is contained in:
@@ -17,6 +17,7 @@ project adheres to [Semantic Versioning](http://semver.org/).
|
|||||||
- A subtle but thoughtful change. (Boomshakalaka, @self 🏀)
|
- A subtle but thoughtful change. (Boomshakalaka, @self 🏀)
|
||||||
- fix default worker subnets not working (by @erks)
|
- fix default worker subnets not working (by @erks)
|
||||||
- fix default worker autoscaling_enabled not working (by @erks)
|
- fix default worker autoscaling_enabled not working (by @erks)
|
||||||
|
- Cosmetic syntax changes to improve readability. (by @max-rocket-internet)
|
||||||
- add `protect_from_scale_in` to solve issue #134 (by @kinghajj)
|
- add `protect_from_scale_in` to solve issue #134 (by @kinghajj)
|
||||||
|
|
||||||
## [[v1.6.0](https://github.com/terraform-aws-modules/terraform-aws-eks/compare/v1.5.0...v1.6.0)] - 2018-09-04]
|
## [[v1.6.0](https://github.com/terraform-aws-modules/terraform-aws-eks/compare/v1.5.0...v1.6.0)] - 2018-09-04]
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ module "eks" {
|
|||||||
source = "terraform-aws-modules/eks/aws"
|
source = "terraform-aws-modules/eks/aws"
|
||||||
cluster_name = "test-eks-cluster"
|
cluster_name = "test-eks-cluster"
|
||||||
subnets = ["subnet-abcde012", "subnet-bcde012a"]
|
subnets = ["subnet-abcde012", "subnet-bcde012a"]
|
||||||
tags = "${map("Environment", "test")}"
|
tags = {Environment = "test"}
|
||||||
vpc_id = "vpc-abcde012"
|
vpc_id = "vpc-abcde012"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|||||||
6
data.tf
6
data.tf
@@ -77,8 +77,8 @@ data "template_file" "userdata" {
|
|||||||
cluster_name = "${aws_eks_cluster.this.name}"
|
cluster_name = "${aws_eks_cluster.this.name}"
|
||||||
endpoint = "${aws_eks_cluster.this.endpoint}"
|
endpoint = "${aws_eks_cluster.this.endpoint}"
|
||||||
cluster_auth_base64 = "${aws_eks_cluster.this.certificate_authority.0.data}"
|
cluster_auth_base64 = "${aws_eks_cluster.this.certificate_authority.0.data}"
|
||||||
pre_userdata = "${lookup(var.worker_groups[count.index], "pre_userdata",lookup(local.workers_group_defaults, "pre_userdata"))}"
|
pre_userdata = "${lookup(var.worker_groups[count.index], "pre_userdata", local.workers_group_defaults["pre_userdata"])}"
|
||||||
additional_userdata = "${lookup(var.worker_groups[count.index], "additional_userdata",lookup(local.workers_group_defaults, "additional_userdata"))}"
|
additional_userdata = "${lookup(var.worker_groups[count.index], "additional_userdata", local.workers_group_defaults["additional_userdata"])}"
|
||||||
kubelet_extra_args = "${lookup(var.worker_groups[count.index], "kubelet_extra_args",lookup(local.workers_group_defaults, "kubelet_extra_args"))}"
|
kubelet_extra_args = "${lookup(var.worker_groups[count.index], "kubelet_extra_args", local.workers_group_defaults["kubelet_extra_args"])}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,39 +18,46 @@ locals {
|
|||||||
|
|
||||||
# the commented out worker group list below shows an example of how to define
|
# the commented out worker group list below shows an example of how to define
|
||||||
# multiple worker groups of differing configurations
|
# multiple worker groups of differing configurations
|
||||||
# worker_groups = "${list(
|
# worker_groups = [
|
||||||
# map("asg_desired_capacity", "2",
|
# {
|
||||||
# "asg_max_size", "10",
|
# asg_desired_capacity = 2
|
||||||
# "asg_min_size", "2",
|
# asg_max_size = 10
|
||||||
# "instance_type", "m4.xlarge",
|
# asg_min_size = 2
|
||||||
# "name", "worker_group_a",
|
# instance_type = "m4.xlarge"
|
||||||
# "subnets", "${join(",", module.vpc.private_subnets)}",
|
# name = "worker_group_a"
|
||||||
# ),
|
# additional_userdata = "echo foo bar"
|
||||||
# map("asg_desired_capacity", "1",
|
# subnets = "${join(",", module.vpc.private_subnets)}"
|
||||||
# "asg_max_size", "5",
|
# },
|
||||||
# "asg_min_size", "1",
|
# {
|
||||||
# "instance_type", "m4.2xlarge",
|
# asg_desired_capacity = 1
|
||||||
# "name", "worker_group_b",
|
# asg_max_size = 5
|
||||||
# "subnets", "${join(",", module.vpc.private_subnets)}",
|
# asg_min_size = 1
|
||||||
# ),
|
# instance_type = "m4.2xlarge"
|
||||||
# )}"
|
# name = "worker_group_b"
|
||||||
|
# additional_userdata = "echo foo bar"
|
||||||
|
# subnets = "${join(",", module.vpc.private_subnets)}"
|
||||||
|
# },
|
||||||
|
# ]
|
||||||
|
|
||||||
worker_groups = "${list(
|
worker_groups = [
|
||||||
map("instance_type","t2.small",
|
{
|
||||||
"additional_userdata","echo foo bar",
|
instance_type = "t2.small"
|
||||||
"subnets", "${join(",", module.vpc.private_subnets)}",
|
additional_userdata = "echo foo bar"
|
||||||
),
|
subnets = "${join(",", module.vpc.private_subnets)}"
|
||||||
map("instance_type","t2.small",
|
},
|
||||||
"additional_userdata","echo foo bar",
|
{
|
||||||
"subnets", "${join(",", module.vpc.private_subnets)}",
|
instance_type = "t2.small"
|
||||||
"additional_security_group_ids", "${aws_security_group.worker_group_mgmt_one.id},${aws_security_group.worker_group_mgmt_two.id}"
|
additional_userdata = "echo foo bar"
|
||||||
)
|
subnets = "${join(",", module.vpc.private_subnets)}"
|
||||||
)}"
|
additional_security_group_ids = "${aws_security_group.worker_group_mgmt_one.id},${aws_security_group.worker_group_mgmt_two.id}"
|
||||||
tags = "${map("Environment", "test",
|
},
|
||||||
"GithubRepo", "terraform-aws-eks",
|
]
|
||||||
"GithubOrg", "terraform-aws-modules",
|
tags = {
|
||||||
"Workspace", "${terraform.workspace}",
|
Environment = "test"
|
||||||
)}"
|
GithubRepo = "terraform-aws-eks"
|
||||||
|
GithubOrg = "terraform-aws-modules"
|
||||||
|
Workspace = "${terraform.workspace}"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "random_string" "suffix" {
|
resource "random_string" "suffix" {
|
||||||
|
|||||||
2
main.tf
2
main.tf
@@ -27,7 +27,7 @@
|
|||||||
* source = "terraform-aws-modules/eks/aws"
|
* source = "terraform-aws-modules/eks/aws"
|
||||||
* cluster_name = "test-eks-cluster"
|
* cluster_name = "test-eks-cluster"
|
||||||
* subnets = ["subnet-abcde012", "subnet-bcde012a"]
|
* subnets = ["subnet-abcde012", "subnet-bcde012a"]
|
||||||
* tags = "${map("Environment", "test")}"
|
* tags = {Environment = "test"}
|
||||||
* vpc_id = "vpc-abcde012"
|
* vpc_id = "vpc-abcde012"
|
||||||
* }
|
* }
|
||||||
* ```
|
* ```
|
||||||
|
|||||||
48
workers.tf
48
workers.tf
@@ -1,18 +1,20 @@
|
|||||||
resource "aws_autoscaling_group" "workers" {
|
resource "aws_autoscaling_group" "workers" {
|
||||||
|
|
||||||
|
|
||||||
name_prefix = "${aws_eks_cluster.this.name}-${lookup(var.worker_groups[count.index], "name", count.index)}"
|
name_prefix = "${aws_eks_cluster.this.name}-${lookup(var.worker_groups[count.index], "name", count.index)}"
|
||||||
desired_capacity = "${lookup(var.worker_groups[count.index], "asg_desired_capacity", lookup(local.workers_group_defaults, "asg_desired_capacity"))}"
|
desired_capacity = "${lookup(var.worker_groups[count.index], "asg_desired_capacity", local.workers_group_defaults["asg_desired_capacity"])}"
|
||||||
max_size = "${lookup(var.worker_groups[count.index], "asg_max_size",lookup(local.workers_group_defaults, "asg_max_size"))}"
|
max_size = "${lookup(var.worker_groups[count.index], "asg_max_size", local.workers_group_defaults["asg_max_size"])}"
|
||||||
min_size = "${lookup(var.worker_groups[count.index], "asg_min_size",lookup(local.workers_group_defaults, "asg_min_size"))}"
|
min_size = "${lookup(var.worker_groups[count.index], "asg_min_size", local.workers_group_defaults["asg_min_size"])}"
|
||||||
launch_configuration = "${element(aws_launch_configuration.workers.*.id, count.index)}"
|
launch_configuration = "${element(aws_launch_configuration.workers.*.id, count.index)}"
|
||||||
vpc_zone_identifier = ["${split(",", coalesce(lookup(var.worker_groups[count.index], "subnets", ""), lookup(local.workers_group_defaults, "subnets")))}"]
|
vpc_zone_identifier = ["${split(",", coalesce(lookup(var.worker_groups[count.index], "subnets", ""), local.workers_group_defaults["subnets"]))}"]
|
||||||
|
protect_from_scale_in = "${lookup(var.worker_groups[count.index], "protect_from_scale_in", local.workers_group_defaults["protect_from_scale_in"])}"
|
||||||
count = "${var.worker_group_count}"
|
count = "${var.worker_group_count}"
|
||||||
protect_from_scale_in = "${lookup(var.worker_groups[count.index], "protect_from_scale_in", lookup(local.workers_group_defaults, "protect_from_scale_in"))}"
|
|
||||||
|
|
||||||
tags = ["${concat(
|
tags = ["${concat(
|
||||||
list(
|
list(
|
||||||
map("key", "Name", "value", "${aws_eks_cluster.this.name}-${lookup(var.worker_groups[count.index], "name", count.index)}-eks_asg", "propagate_at_launch", true),
|
map("key", "Name", "value", "${aws_eks_cluster.this.name}-${lookup(var.worker_groups[count.index], "name", count.index)}-eks_asg", "propagate_at_launch", true),
|
||||||
map("key", "kubernetes.io/cluster/${aws_eks_cluster.this.name}", "value", "owned", "propagate_at_launch", true),
|
map("key", "kubernetes.io/cluster/${aws_eks_cluster.this.name}", "value", "owned", "propagate_at_launch", true),
|
||||||
map("key", "k8s.io/cluster-autoscaler/${lookup(var.worker_groups[count.index], "autoscaling_enabled", lookup(local.workers_group_defaults, "autoscaling_enabled")) == 1 ? "enabled" : "disabled" }", "value", "true", "propagate_at_launch", false),
|
map("key", "k8s.io/cluster-autoscaler/${lookup(var.worker_groups[count.index], "autoscaling_enabled", local.workers_group_defaults["autoscaling_enabled"]) == 1 ? "enabled" : "disabled" }", "value", "true", "propagate_at_launch", false),
|
||||||
),
|
),
|
||||||
local.asg_tags)
|
local.asg_tags)
|
||||||
}"]
|
}"]
|
||||||
@@ -24,16 +26,16 @@ resource "aws_autoscaling_group" "workers" {
|
|||||||
|
|
||||||
resource "aws_launch_configuration" "workers" {
|
resource "aws_launch_configuration" "workers" {
|
||||||
name_prefix = "${aws_eks_cluster.this.name}-${lookup(var.worker_groups[count.index], "name", count.index)}"
|
name_prefix = "${aws_eks_cluster.this.name}-${lookup(var.worker_groups[count.index], "name", count.index)}"
|
||||||
associate_public_ip_address = "${lookup(var.worker_groups[count.index], "public_ip", lookup(local.workers_group_defaults, "public_ip"))}"
|
associate_public_ip_address = "${lookup(var.worker_groups[count.index], "public_ip", local.workers_group_defaults["public_ip"])}"
|
||||||
security_groups = ["${local.worker_security_group_id}", "${var.worker_additional_security_group_ids}", "${compact(split(",",lookup(var.worker_groups[count.index],"additional_security_group_ids",lookup(local.workers_group_defaults, "additional_security_group_ids"))))}"]
|
security_groups = ["${local.worker_security_group_id}", "${var.worker_additional_security_group_ids}", "${compact(split(",",lookup(var.worker_groups[count.index],"additional_security_group_ids", local.workers_group_defaults["additional_security_group_ids"])))}"]
|
||||||
iam_instance_profile = "${element(aws_iam_instance_profile.workers.*.id, count.index)}"
|
iam_instance_profile = "${aws_iam_instance_profile.workers.id}"
|
||||||
image_id = "${lookup(var.worker_groups[count.index], "ami_id", lookup(local.workers_group_defaults, "ami_id"))}"
|
image_id = "${lookup(var.worker_groups[count.index], "ami_id", local.workers_group_defaults["ami_id"])}"
|
||||||
instance_type = "${lookup(var.worker_groups[count.index], "instance_type", lookup(local.workers_group_defaults, "instance_type"))}"
|
instance_type = "${lookup(var.worker_groups[count.index], "instance_type", local.workers_group_defaults["instance_type"])}"
|
||||||
key_name = "${lookup(var.worker_groups[count.index], "key_name", lookup(local.workers_group_defaults, "key_name"))}"
|
key_name = "${lookup(var.worker_groups[count.index], "key_name", local.workers_group_defaults["key_name"])}"
|
||||||
user_data_base64 = "${base64encode(element(data.template_file.userdata.*.rendered, count.index))}"
|
user_data_base64 = "${base64encode(element(data.template_file.userdata.*.rendered, count.index))}"
|
||||||
ebs_optimized = "${lookup(var.worker_groups[count.index], "ebs_optimized", lookup(local.ebs_optimized, lookup(var.worker_groups[count.index], "instance_type", lookup(local.workers_group_defaults, "instance_type")), false))}"
|
ebs_optimized = "${lookup(var.worker_groups[count.index], "ebs_optimized", lookup(local.ebs_optimized, lookup(var.worker_groups[count.index], "instance_type", local.workers_group_defaults["instance_type"]), false))}"
|
||||||
enable_monitoring = "${lookup(var.worker_groups[count.index], "enable_monitoring", lookup(local.workers_group_defaults, "enable_monitoring"))}"
|
enable_monitoring = "${lookup(var.worker_groups[count.index], "enable_monitoring", local.workers_group_defaults["enable_monitoring"])}"
|
||||||
spot_price = "${lookup(var.worker_groups[count.index], "spot_price", lookup(local.workers_group_defaults, "spot_price"))}"
|
spot_price = "${lookup(var.worker_groups[count.index], "spot_price", local.workers_group_defaults["spot_price"])}"
|
||||||
count = "${var.worker_group_count}"
|
count = "${var.worker_group_count}"
|
||||||
|
|
||||||
lifecycle {
|
lifecycle {
|
||||||
@@ -41,9 +43,9 @@ resource "aws_launch_configuration" "workers" {
|
|||||||
}
|
}
|
||||||
|
|
||||||
root_block_device {
|
root_block_device {
|
||||||
volume_size = "${lookup(var.worker_groups[count.index], "root_volume_size", lookup(local.workers_group_defaults, "root_volume_size"))}"
|
volume_size = "${lookup(var.worker_groups[count.index], "root_volume_size", local.workers_group_defaults["root_volume_size"])}"
|
||||||
volume_type = "${lookup(var.worker_groups[count.index], "root_volume_type", lookup(local.workers_group_defaults, "root_volume_type"))}"
|
volume_type = "${lookup(var.worker_groups[count.index], "root_volume_type", local.workers_group_defaults["root_volume_type"])}"
|
||||||
iops = "${lookup(var.worker_groups[count.index], "root_iops", lookup(local.workers_group_defaults, "root_iops"))}"
|
iops = "${lookup(var.worker_groups[count.index], "root_iops", local.workers_group_defaults["root_iops"])}"
|
||||||
delete_on_termination = true
|
delete_on_termination = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -119,11 +121,11 @@ resource "aws_iam_role_policy_attachment" "workers_AmazonEC2ContainerRegistryRea
|
|||||||
resource "null_resource" "tags_as_list_of_maps" {
|
resource "null_resource" "tags_as_list_of_maps" {
|
||||||
count = "${length(keys(var.tags))}"
|
count = "${length(keys(var.tags))}"
|
||||||
|
|
||||||
triggers = "${map(
|
triggers = {
|
||||||
"key", "${element(keys(var.tags), count.index)}",
|
key = "${element(keys(var.tags), count.index)}"
|
||||||
"value", "${element(values(var.tags), count.index)}",
|
value = "${element(values(var.tags), count.index)}"
|
||||||
"propagate_at_launch", "true"
|
propagate_at_launch = "true"
|
||||||
)}"
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
resource "aws_iam_role_policy_attachment" "workers_autoscaling" {
|
resource "aws_iam_role_policy_attachment" "workers_autoscaling" {
|
||||||
|
|||||||
Reference in New Issue
Block a user