![](/img/trans.png)
[英]How to use the same IAM role for two node groups in an EKS cluster in Terraform?
[英]Terraform wants to change EKS node groups even if configuration is the same
想要应用更改时,我遇到了 Terraform 问题。 也就是说,即使配置(用于启动模板和节点组)保持不变,Terraform 也想更改节点组设置,因为它认为启动模板版本已更改。
我的节点组配置如下所示:
resource "aws_eks_node_group" "test" {
depends_on = [aws_launch_template.test]
...other settings
launch_template {
name = aws_launch_template.test.name
version = aws_launch_template.test.latest_version
}
}
启动模板:
resource "aws_launch_template" "test" {
name = "test"
instance_type = var.instance
image_id = data.aws_ssm_parameter.eks-ami.value
user_data = base64encode(local.eks-node-userdata)
tag_specifications {
resource_type = "instance"
tags = {
Name = "test
}
}
lifecycle {
create_before_destroy = true
}
}
来自terraform的terraform apply
:
# aws_launch_template.test will be updated in-place
~ resource "aws_launch_template" "test" {
id = "xxx"
~ image_id = (sensitive)
~ latest_version = 3 -> (known after apply)
name = "test"
tags = {}
# (16 unchanged attributes hidden)
# (1 unchanged block hidden)
}
# aws_eks_node_group.test will be updated in-place
~ resource "aws_eks_node_group" "general" {
...other settings
~ launch_template {
id = "xxx"
name = "test"
~ version = "3" -> (known after apply)
}
}
每次我运行 terraform 命令(计划或应用)时,它都想更新节点组,认为启动模板有新版本,节点组应该更新。 但是配置文件没有任何变化。 为什么会这样? 我该如何解决?
尝试评论资源“aws_launch_template”的创建。 似乎它创建了一个新的启动模板版本,即使 user_data、image 等仍然相同。
我认为问题是因为资源aws_launch_template
总是创建一个新的默认版本。 也许您可以将参数update_default_version
设置为false
来解决这个问题。
update_default_version -(可选)是否在每次更新时更新默认版本。 与 default_version 冲突。
尝试像这样定义您的资源:
resource "aws_launch_template" "test" {
name = "test"
instance_type = var.instance
image_id = data.aws_ssm_parameter.eks-ami.value
user_data = base64encode(local.eks-node-userdata)
update_default_version = false
tag_specifications {
resource_type = "instance"
tags = {
Name = "test
}
}
lifecycle {
create_before_destroy = true
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.