mirror of
https://github.com/terraform-aws-modules/terraform-aws-eks.git
synced 2025-09-09 19:32:58 +08:00
Fix cluster count
This commit is contained in:
+1
-1
@@ -28,7 +28,7 @@ EOS
|
||||
triggers = {
|
||||
kube_config_map_rendered = data.template_file.kubeconfig.rendered
|
||||
config_map_rendered = data.template_file.config_map_aws_auth.rendered
|
||||
endpoint = aws_eks_cluster.this.endpoint
|
||||
endpoint = aws_eks_cluster.this[count.index].endpoint
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -67,15 +67,15 @@ data "template_file" "kubeconfig" {
|
||||
|
||||
vars = {
|
||||
kubeconfig_name = local.kubeconfig_name
|
||||
endpoint = aws_eks_cluster.this.endpoint
|
||||
cluster_auth_base64 = aws_eks_cluster.this.certificate_authority[0].data
|
||||
endpoint = aws_eks_cluster.this[0].endpoint
|
||||
cluster_auth_base64 = aws_eks_cluster.this[0].certificate_authority[0].data
|
||||
aws_authenticator_command = var.kubeconfig_aws_authenticator_command
|
||||
aws_authenticator_command_args = length(var.kubeconfig_aws_authenticator_command_args) > 0 ? " - ${join(
|
||||
"\n - ",
|
||||
var.kubeconfig_aws_authenticator_command_args,
|
||||
)}" : " - ${join(
|
||||
"\n - ",
|
||||
formatlist("\"%s\"", ["token", "-i", aws_eks_cluster.this.name]),
|
||||
formatlist("\"%s\"", ["token", "-i", aws_eks_cluster.this[0].name]),
|
||||
)}"
|
||||
aws_authenticator_additional_args = length(var.kubeconfig_aws_authenticator_additional_args) > 0 ? " - ${join(
|
||||
"\n - ",
|
||||
@@ -117,9 +117,9 @@ data "template_file" "userdata" {
|
||||
|
||||
vars = merge({
|
||||
platform = lookup(var.worker_groups[count.index], "platform", local.workers_group_defaults["platform"])
|
||||
cluster_name = aws_eks_cluster.this.name
|
||||
endpoint = aws_eks_cluster.this.endpoint
|
||||
cluster_auth_base64 = aws_eks_cluster.this.certificate_authority[0].data
|
||||
cluster_name = aws_eks_cluster.this[count.index].name
|
||||
endpoint = aws_eks_cluster.this[count.index].endpoint
|
||||
cluster_auth_base64 = aws_eks_cluster.this[count.index].certificate_authority[0].data
|
||||
pre_userdata = lookup(
|
||||
var.worker_groups[count.index],
|
||||
"pre_userdata",
|
||||
@@ -163,9 +163,9 @@ data "template_file" "launch_template_userdata" {
|
||||
|
||||
vars = merge({
|
||||
platform = lookup(var.worker_groups_launch_template[count.index], "platform", local.workers_group_defaults["platform"])
|
||||
cluster_name = aws_eks_cluster.this.name
|
||||
endpoint = aws_eks_cluster.this.endpoint
|
||||
cluster_auth_base64 = aws_eks_cluster.this.certificate_authority[0].data
|
||||
cluster_name = aws_eks_cluster.this[count.index].name
|
||||
endpoint = aws_eks_cluster.this[count.index].endpoint
|
||||
cluster_auth_base64 = aws_eks_cluster.this[count.index].certificate_authority[0].data
|
||||
pre_userdata = lookup(
|
||||
var.worker_groups_launch_template[count.index],
|
||||
"pre_userdata",
|
||||
|
||||
+6
-6
@@ -1,26 +1,26 @@
|
||||
output "cluster_id" {
|
||||
description = "The name/id of the EKS cluster."
|
||||
value = aws_eks_cluster.this.id
|
||||
value = element(concat(aws_eks_cluster.this.*.id, list("")), 0)
|
||||
}
|
||||
|
||||
output "cluster_arn" {
|
||||
description = "The Amazon Resource Name (ARN) of the cluster."
|
||||
value = aws_eks_cluster.this.arn
|
||||
value = element(concat(aws_eks_cluster.this.*.arn, list("")), 0)
|
||||
}
|
||||
|
||||
output "cluster_certificate_authority_data" {
|
||||
description = "Nested attribute containing certificate-authority-data for your cluster. This is the base64 encoded certificate data required to communicate with your cluster."
|
||||
value = aws_eks_cluster.this.certificate_authority[0].data
|
||||
value = element(concat(aws_eks_cluster.this.*.certificate_authority[0].data, list("")), 0)
|
||||
}
|
||||
|
||||
output "cluster_endpoint" {
|
||||
description = "The endpoint for your EKS Kubernetes API."
|
||||
value = aws_eks_cluster.this.endpoint
|
||||
value = element(concat(aws_eks_cluster.this.*.endpoint, list("")), 0)
|
||||
}
|
||||
|
||||
output "cluster_version" {
|
||||
description = "The Kubernetes server version for the EKS cluster."
|
||||
value = aws_eks_cluster.this.version
|
||||
value = element(concat(aws_eks_cluster.this.*.version, list("")), 0)
|
||||
}
|
||||
|
||||
output "cluster_security_group_id" {
|
||||
@@ -45,7 +45,7 @@ output "cluster_iam_role_arn" {
|
||||
|
||||
output "cluster_oidc_issuer_url" {
|
||||
description = "The URL on the EKS cluster OIDC Issuer"
|
||||
value = concat(aws_eks_cluster.this.identity.*.oidc.0.issuer, [""])[0]
|
||||
value = concat(aws_eks_cluster.this.0.identity.*.oidc.0.issuer, [""])[0]
|
||||
}
|
||||
|
||||
output "cloudwatch_log_group_name" {
|
||||
|
||||
+15
-15
@@ -6,7 +6,7 @@ resource "aws_autoscaling_group" "workers" {
|
||||
"-",
|
||||
compact(
|
||||
[
|
||||
aws_eks_cluster.this.name,
|
||||
aws_eks_cluster.this[count.index].name,
|
||||
lookup(var.worker_groups[count.index], "name", count.index),
|
||||
lookup(var.worker_groups[count.index], "asg_recreate_on_change", local.workers_group_defaults["asg_recreate_on_change"]) ? random_pet.workers[count.index].id : ""
|
||||
]
|
||||
@@ -91,16 +91,16 @@ resource "aws_autoscaling_group" "workers" {
|
||||
[
|
||||
{
|
||||
"key" = "Name"
|
||||
"value" = "${aws_eks_cluster.this.name}-${lookup(var.worker_groups[count.index], "name", count.index)}-eks_asg"
|
||||
"value" = "${aws_eks_cluster.this[count.index].name}-${lookup(var.worker_groups[count.index], "name", count.index)}-eks_asg"
|
||||
"propagate_at_launch" = true
|
||||
},
|
||||
{
|
||||
"key" = "kubernetes.io/cluster/${aws_eks_cluster.this.name}"
|
||||
"key" = "kubernetes.io/cluster/${aws_eks_cluster.this[count.index].name}"
|
||||
"value" = "owned"
|
||||
"propagate_at_launch" = true
|
||||
},
|
||||
{
|
||||
"key" = "k8s.io/cluster/${aws_eks_cluster.this.name}"
|
||||
"key" = "k8s.io/cluster/${aws_eks_cluster.this[count.index].name}"
|
||||
"value" = "owned"
|
||||
"propagate_at_launch" = true
|
||||
},
|
||||
@@ -114,8 +114,8 @@ resource "aws_autoscaling_group" "workers" {
|
||||
"propagate_at_launch" = false
|
||||
},
|
||||
{
|
||||
"key" = "k8s.io/cluster-autoscaler/${aws_eks_cluster.this.name}"
|
||||
"value" = aws_eks_cluster.this.name
|
||||
"key" = "k8s.io/cluster-autoscaler/${aws_eks_cluster.this[count.index].name}"
|
||||
"value" = aws_eks_cluster.this[count.index].name
|
||||
"propagate_at_launch" = false
|
||||
},
|
||||
{
|
||||
@@ -144,7 +144,7 @@ resource "aws_autoscaling_group" "workers" {
|
||||
|
||||
resource "aws_launch_configuration" "workers" {
|
||||
count = var.enabled ? local.worker_group_count : 0
|
||||
name_prefix = "${aws_eks_cluster.this.name}-${lookup(var.worker_groups[count.index], "name", count.index)}"
|
||||
name_prefix = "${aws_eks_cluster.this[count.index].name}-${lookup(var.worker_groups[count.index], "name", count.index)}"
|
||||
associate_public_ip_address = lookup(
|
||||
var.worker_groups[count.index],
|
||||
"public_ip",
|
||||
@@ -244,14 +244,14 @@ resource "random_pet" "workers" {
|
||||
|
||||
resource "aws_security_group" "workers" {
|
||||
count = var.worker_create_security_group && var.enabled ? 1 : 0
|
||||
name_prefix = aws_eks_cluster.this.name
|
||||
name_prefix = aws_eks_cluster.this[count.index].name
|
||||
description = "Security group for all nodes in the cluster."
|
||||
vpc_id = var.vpc_id
|
||||
tags = merge(
|
||||
var.tags,
|
||||
{
|
||||
"Name" = "${aws_eks_cluster.this.name}-eks_worker_sg"
|
||||
"kubernetes.io/cluster/${aws_eks_cluster.this.name}" = "owned"
|
||||
"Name" = "${aws_eks_cluster.this[count.index].name}-eks_worker_sg"
|
||||
"kubernetes.io/cluster/${aws_eks_cluster.this[count.index].name}" = "owned"
|
||||
},
|
||||
)
|
||||
}
|
||||
@@ -313,7 +313,7 @@ resource "aws_security_group_rule" "workers_ingress_cluster_https" {
|
||||
|
||||
resource "aws_iam_role" "workers" {
|
||||
count = var.manage_worker_iam_resources && var.enabled ? 1 : 0
|
||||
name_prefix = var.workers_role_name != "" ? null : aws_eks_cluster.this.name
|
||||
name_prefix = var.workers_role_name != "" ? null : aws_eks_cluster.this[count.index].name
|
||||
name = var.workers_role_name != "" ? var.workers_role_name : null
|
||||
assume_role_policy = data.aws_iam_policy_document.workers_assume_role_policy.json
|
||||
permissions_boundary = var.permissions_boundary
|
||||
@@ -324,7 +324,7 @@ resource "aws_iam_role" "workers" {
|
||||
|
||||
resource "aws_iam_instance_profile" "workers" {
|
||||
count = var.manage_worker_iam_resources && var.enabled ? local.worker_group_count : 0
|
||||
name_prefix = aws_eks_cluster.this.name
|
||||
name_prefix = aws_eks_cluster.this[count.index].name
|
||||
role = lookup(
|
||||
var.worker_groups[count.index],
|
||||
"iam_role_id",
|
||||
@@ -366,8 +366,8 @@ resource "aws_iam_role_policy_attachment" "workers_autoscaling" {
|
||||
|
||||
resource "aws_iam_policy" "worker_autoscaling" {
|
||||
count = var.manage_worker_iam_resources && var.manage_worker_autoscaling_policy && var.enabled ? 1 : 0
|
||||
name_prefix = "eks-worker-autoscaling-${aws_eks_cluster.this.name}"
|
||||
description = "EKS worker node autoscaling policy for cluster ${aws_eks_cluster.this.name}"
|
||||
name_prefix = "eks-worker-autoscaling-${aws_eks_cluster.this[count.index].name}"
|
||||
description = "EKS worker node autoscaling policy for cluster ${aws_eks_cluster.this[count.index].name}"
|
||||
policy = data.aws_iam_policy_document.worker_autoscaling.json
|
||||
path = var.iam_path
|
||||
}
|
||||
@@ -402,7 +402,7 @@ data "aws_iam_policy_document" "worker_autoscaling" {
|
||||
|
||||
condition {
|
||||
test = "StringEquals"
|
||||
variable = "autoscaling:ResourceTag/kubernetes.io/cluster/${aws_eks_cluster.this.name}"
|
||||
variable = "autoscaling:ResourceTag/kubernetes.io/cluster/${aws_eks_cluster.this[0].name}"
|
||||
values = ["owned"]
|
||||
}
|
||||
|
||||
|
||||
+11
-11
@@ -1,12 +1,12 @@
|
||||
# Worker Groups using Launch Templates
|
||||
|
||||
resource "aws_autoscaling_group" "workers_launch_template" {
|
||||
count = (local.worker_group_launch_template_count * var.enabled)
|
||||
count = var.enabled ? local.worker_group_launch_template_count : 0
|
||||
name_prefix = join(
|
||||
"-",
|
||||
compact(
|
||||
[
|
||||
aws_eks_cluster.this.name,
|
||||
aws_eks_cluster.this[count.index].name,
|
||||
lookup(var.worker_groups_launch_template[count.index], "name", count.index),
|
||||
lookup(var.worker_groups_launch_template[count.index], "asg_recreate_on_change", local.workers_group_defaults["asg_recreate_on_change"]) ? random_pet.workers_launch_template[count.index].id : ""
|
||||
]
|
||||
@@ -167,7 +167,7 @@ resource "aws_autoscaling_group" "workers_launch_template" {
|
||||
[
|
||||
{
|
||||
"key" = "Name"
|
||||
"value" = "${aws_eks_cluster.this.name}-${lookup(
|
||||
"value" = "${aws_eks_cluster.this[count.index].name}-${lookup(
|
||||
var.worker_groups_launch_template[count.index],
|
||||
"name",
|
||||
count.index,
|
||||
@@ -175,7 +175,7 @@ resource "aws_autoscaling_group" "workers_launch_template" {
|
||||
"propagate_at_launch" = true
|
||||
},
|
||||
{
|
||||
"key" = "kubernetes.io/cluster/${aws_eks_cluster.this.name}"
|
||||
"key" = "kubernetes.io/cluster/${aws_eks_cluster.this[count.index].name}"
|
||||
"value" = "owned"
|
||||
"propagate_at_launch" = true
|
||||
},
|
||||
@@ -189,8 +189,8 @@ resource "aws_autoscaling_group" "workers_launch_template" {
|
||||
"propagate_at_launch" = false
|
||||
},
|
||||
{
|
||||
"key" = "k8s.io/cluster-autoscaler/${aws_eks_cluster.this.name}"
|
||||
"value" = aws_eks_cluster.this.name
|
||||
"key" = "k8s.io/cluster-autoscaler/${aws_eks_cluster.this[count.index].name}"
|
||||
"value" = aws_eks_cluster.this[count.index].name
|
||||
"propagate_at_launch" = false
|
||||
},
|
||||
{
|
||||
@@ -218,8 +218,8 @@ resource "aws_autoscaling_group" "workers_launch_template" {
|
||||
}
|
||||
|
||||
resource "aws_launch_template" "workers_launch_template" {
|
||||
count = (local.worker_group_launch_template_count * var.enabled)
|
||||
name_prefix = "${aws_eks_cluster.this.name}-${lookup(
|
||||
count = var.enabled ? (local.worker_group_launch_template_count) : 0
|
||||
name_prefix = "${aws_eks_cluster.this[count.index].name}-${lookup(
|
||||
var.worker_groups_launch_template[count.index],
|
||||
"name",
|
||||
count.index,
|
||||
@@ -364,7 +364,7 @@ resource "aws_launch_template" "workers_launch_template" {
|
||||
|
||||
tags = merge(
|
||||
{
|
||||
"Name" = "${aws_eks_cluster.this.name}-${lookup(
|
||||
"Name" = "${aws_eks_cluster.this[count.index].name}-${lookup(
|
||||
var.worker_groups_launch_template[count.index],
|
||||
"name",
|
||||
count.index,
|
||||
@@ -382,7 +382,7 @@ resource "aws_launch_template" "workers_launch_template" {
|
||||
}
|
||||
|
||||
resource "random_pet" "workers_launch_template" {
|
||||
count = (local.worker_group_launch_template_count * var.enabled)
|
||||
count = var.enabled ? local.worker_group_launch_template_count : 0
|
||||
|
||||
separator = "-"
|
||||
length = 2
|
||||
@@ -402,7 +402,7 @@ resource "random_pet" "workers_launch_template" {
|
||||
|
||||
resource "aws_iam_instance_profile" "workers_launch_template" {
|
||||
count = var.manage_worker_iam_resources ? (local.worker_group_launch_template_count * var.enabled) : 0
|
||||
name_prefix = aws_eks_cluster.this.name
|
||||
name_prefix = aws_eks_cluster.this[count.index].name
|
||||
role = lookup(
|
||||
var.worker_groups_launch_template[count.index],
|
||||
"iam_role_id",
|
||||
|
||||
Reference in New Issue
Block a user