如何使用Terraform的kubernetes_服务输出节点_端口值?

如何使用Terraform的kubernetes_服务输出节点_端口值?,terraform,terraform-provider-kubernetes,Terraform,Terraform Provider Kubernetes,我正在尝试在Terraform模板中创建输出 output "port" { value = "${kubernetes_service.postgres_service.spec}" } 将产生 ports = { cluster_ip = 10.245.175.57 external_ips = [] external_name = load_balancer_ip = load_balancer_source_ranges = [] port = [map[n

我正在尝试在Terraform模板中创建输出

output "port" {
  value = "${kubernetes_service.postgres_service.spec}"
}
将产生

ports = {
  cluster_ip = 10.245.175.57
  external_ips = []
  external_name =
  load_balancer_ip =
  load_balancer_source_ranges = []
  port = [map[node_port:30344 protocol:TCP name: port:5432 target_port:5432]]
  selector = map[app:postgres]
  session_affinity = None
  type = NodePort
}
我尝试了${kubernetes_service.postgres_service.spec}.port,但它产生了语法错误

我还尝试了${lookupkubernetes_service.postgres_service.spec[0],port},但它只能用于平面贴图

我错过什么了吗?这是我第一次尝试Terraform,它与我习惯的云形成有很大不同。任何帮助都将不胜感激。我只是想得到node_port 30344的值,以便在运行apply之后输出到屏幕上

这应该起作用:

output "port" {
  value = "${kubernetes_service.postgres_service.spec.0.port.0.port}"
}
参考:


它生成了一个错误的预期表达式,但发现了无效的序列'expected},但发现了[就是这样!我非常感谢您的帮助!
resource.TestCheckResourceAttr("kubernetes_service.test", "spec.0.port.0.port", "8080"),