Amazon web services 如何通过Terraform创建EKS节点的Cloudwatch报警
我试图通过terraform创建EKS节点的警报,但我无法做到,因为我不知道如何引用节点实例。我有以下代码:Amazon web services 如何通过Terraform创建EKS节点的Cloudwatch报警,amazon-web-services,kubernetes,terraform,amazon-eks,Amazon Web Services,Kubernetes,Terraform,Amazon Eks,我试图通过terraform创建EKS节点的警报,但我无法做到,因为我不知道如何引用节点实例。我有以下代码: resource "aws_cloudwatch_metric_alarm" "cpu_high_nodes" { for_each = local.ob alarm_name = "${var.cluster_name}-nodes-cpu-high-${each.value}" com
resource "aws_cloudwatch_metric_alarm" "cpu_high_nodes" {
for_each = local.ob
alarm_name = "${var.cluster_name}-nodes-cpu-high-${each.value}"
comparison_operator = "GreaterThanOrEqualToThreshold"
evaluation_periods = "2"
metric_name = "CPUUtilization"
namespace = "AWS/EC2"
period = "300"
statistic = "Maximum"
threshold = "85"
alarm_description = "Scale up if the cpu avg is above 85% for 10 minutes"
dimensions = {
InstanceId = "instance-id"
}
如果我手动放置InstanceId,警报工作正常,但问题是从创建节点的任务中获取输出
resource "aws_launch_template" "worker-node" {
for_each = local.ob
image_id = "ami-038341f2c72928ada"
name = "${var.cluster_name}-worker-node-${each.value}"
instance_type = "t3.medium"
block_device_mappings {
device_name = "/dev/xvda"
ebs {
volume_size = 20
volume_type = "gp2"
}
}
user_data = base64encode(data.template_file.user_data.template)
tag_specifications {
resource_type = "instance"
tags = {
"Instance Name" = "${var.cluster_name}-node-${each.value}"
Name = "${var.cluster_name}-node-${each.value}"
}
}
}
如果我得到这个任务的.id,我将得到deLaunchTemplateID,实际上我需要EC2实例id,但我不知道如何得到它
有什么想法吗
THx我猜实例是ASG的一部分?使用
AutoScalingGroupName
维度而不是InstanceId
,不是更容易吗?@MarkoE-Hi,不是。。实例是启动模板的一部分,但不是ASG。。在aws规范中,不允许引用launchtemplate.:/