kubernetes - 使用 terraform 向 EKS 节点添加标签
问题描述
我正在使用以下代码创建一个具有特定节点的 EKS 集群:
resource "aws_eks_node_group" "managed_workers" {
for_each = var.nodegroups[terraform.workspace]
cluster_name = aws_eks_cluster.cluster.name
node_group_name = each.value.Name
node_role_arn = aws_iam_role.managed_workers.arn
subnet_ids = aws_subnet.private.*.id
scaling_config {
desired_size = 1
max_size = 1
min_size = 1
}
labels = {
lifecycle = each.value.lifecycle
autoscalergroup = each.value.autoscalergroup
}
release_version = var.managed_node_group_release_version
tags = merge(
var.tags[terraform.workspace], {
"k8s.io/cluster-autoscaler/enabled" = "true"
"k8s.io/cluster-autoscaler/${var.cluster_name}" = "owned"
})
lifecycle {
#create_before_destroy = true
ignore_changes = [scaling_config[0].desired_size, scaling_config[0].min_size]
}
}
我需要使用以下代码向节点组添加一些标签:
resource "aws_autoscaling_group_tag" "Name" {
for_each = aws_eks_node_group.managed_workers
autoscaling_group_name = each.value.resources[0].autoscaling_groups[0].name
depends_on = [
aws_eks_node_group.managed_workers
]
tag {
key = "Name"
value = each.value.tags["Name"]
propagate_at_launch = true
}
}
当前行为是执行节点创建任务,因此 ASG 创建一个没有标签的节点实例。然后执行标签任务创建并将标签附加到 ASG,但是,正如我所写,ASG 已经创建了没有附加标签的节点..我期望的行为是标签附加到 ASG 首先创建的节点实例..我希望你理解我的问题:)
谢谢。
解决方案
推荐阅读
- neural-network - pytorch 中 MNIST 数据集的 DNN 大小不匹配
- julia - 冲浪图上的自定义 ztick 标签,使用 PyPlot
- c# - 有没有办法将 int 3d 数组保存为 C# 中哈希表的值?
- azure - Azure 应用程序网关 WAF
- python - 无论如何要在具有多个值的列中找到值
- scala - 我是否遵循 BDD 规范?
- amazon-web-services - 容器实例网络
- node.js - 如何将元素附加到firestore文档中的数组中?
- javascript - JS Promise 的顺序组合
- c++ - c++,opecv:HoughLines() 不接收轨迹栏传递的值