Как вы выводите значение node_port с помощью Terraform's kubernetes_service?
Я пытаюсь создать в выводе в моем шаблоне 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"
но это выдает синтаксическую ошибку.
Я тоже пробовал "${lookup(kubernetes_service.postgres_service.spec[0], "port")}"
но он может быть использован только с плоскими картами.
Я что-то пропустил? Это моя первая попытка Terraform, и она сильно отличается от того, к чему я привык (CloudFormation). Любая помощь будет оценена. Я просто хочу получить значение node_port (30344) для вывода на экран после запуска применить.
1 ответ
Решение
Это должно работать:
output "port" {
value = "${kubernetes_service.postgres_service.spec.0.port.0.port}"
}
Ссылка:
resource.TestCheckResourceAttr("kubernetes_service.test", "spec.0.port.0.port", "8080"),