【问题标题】:Terraform EKS: get security group created by Ingress ALBTerraform EKS:获取由 Ingress ALB 创建的安全组
【发布时间】:2022-01-06 15:20:00
【问题描述】:

我正在使用 Terraform 创建 EKS 集群。流量通过 AWS Application Load Balancer (ALB) - 入口控制器进行路由。

我可以通过以下输出获取主机名 kubernetes_ingress.app.status.0.load_balancer.0.ingress.0.hostname

但是,问题是 Ingress 和 ALB 自动创建一个安全组,我需要创建 AWS API Gateway 和 VPC Link,如何获取该安全组的 id?

【问题讨论】:

  • 显示你的 terraform 配置的样子会有很大帮助。根据您的 terraform 模块或资源的创建方式...您可以使用 terraform 输出,但由于您没有提供太多信息,因此很难说。

标签: terraform kubernetes-ingress terraform-provider-aws amazon-eks aws-application-load-balancer


【解决方案1】:

我认为下面的链接可能会对您有所帮助,但如果它不可用,您可以通过名称破解 LB 对象。

您首先获取您的 LB 主机名(正如您已经拥有的,除了在连字符上拆分),然后使用该名称创建一个“aws_lb”数据类型,然后应该填充“aws_lb”,就像您部署了一个 LB。或者至少足以查询该类型的对象以获取所需的位。

locals {
    lb_name_parts = split("-", split(".", kubernetes_ingress.alb_nginx_primary_ingress.status.0.load_balancer.0.ingress.0.hostname).0)
}

data "aws_lb" "alb_primary_ingress" {
    name = join("-", slice(local.lb_name_parts, 0, length(local.lb_name_parts) - 1))
}

(我的主机名变量与您的略有不同,但您应该明白)

聪明的人发现了它:

https://github.com/hashicorp/terraform-provider-kubernetes/issues/942

【讨论】:

    猜你喜欢
    • 2020-10-18
    • 2020-07-03
    • 2019-06-28
    • 1970-01-01
    • 2021-03-25
    • 1970-01-01
    • 2021-06-16
    • 2020-02-07
    • 2021-04-16
    相关资源
    最近更新 更多