地形资源kubernetes_ingress_v1是否具有等效"use_annotation"?



我们目前正在将我们的terraform kubernetes_ingress资源迁移到kubernetes_ingress_v1资源。之前,我们在入口上有这些注释:

annotations = {
"kubernetes.io/ingress.class" = "alb"
"alb.ingress.kubernetes.io/scheme" =  "internet-facing"
"alb.ingress.kubernetes.io/certificate-arn" = var.create_acm_certificate ? aws_acm_certificate.eks_domain_cert[0].id : var.aws_acm_certificate_arn
"alb.ingress.kubernetes.io/listen-ports" = "[{"HTTP": 80}, {"HTTPS":443}]"
"alb.ingress.kubernetes.io/actions.ssl-redirect" = "{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}"
"alb.ingress.kubernetes.io/ssl-policy" = "ELBSecurityPolicy-TLS-1-2-Ext-2018-06"
"alb.ingress.kubernetes.io/healthcheck-path" = "/healthz"
}

和这个段在规范中出现了几次:

path {
backend {
service_name = "ssl-redirect"
service_port = "use-annotation"
}
path = "/*"
}
但是,kubernetes_ingress_v1需要这样的格式:
path {
backend {
service {
name = "ssl-redirect"
port { 
number = <number_value>
}
}
}
path = "/*"
}

,其中port是一个实际数字,而不是"use-annotation"。有什么方法可以复制这个吗?使用注释?kubernetes_ingress_v1资源中的行为?或者,更好的是,是否有更简单的方法来处理kubernetes_ingress_v1中的ssl重定向规则?

您可以使用以下命令来实现:

backend {
service {
name = "ssl-redirect"
port {
name = "use-annotation"
}
}
}
如您所见,您需要使用参数name而不是port

最新更新