【发布时间】:2022-08-19 06:48:04
【问题描述】:
我们目前正在将我们的 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 = \"/*\"
}
其中端口是一个实际数字,而不是“使用注释”。有没有办法在 kubernetes_ingress_v1 资源中复制这种“使用注释”行为?或者,更好的是,有没有更简单的方法来处理 kubernetes_ingress_v1 中的这个 ssl 重定向规则?
标签: terraform kubernetes-ingress aws-application-load-balancer