我正在 Google Kubernetes Engine 中部署 Kubernetes 网关。如何获取外部 IP 将其公开为输出?
resource "kubernetes_manifest" "gateway" {
manifest = {
"apiVersion" = "gateway.networking.k8s.io/v1beta1"
"kind" = "Gateway"
"metadata" = {
"namespace" = "default"
"name" = "my-gateway"
}
"spec" = {
"gatewayClassName" = "gke-l7-regional-external-managed" // Managed by GKE
"listeners" = [
{
"name" = "http"
"protocol" = "HTTP"
"port" = 80
"allowedRoutes" = {
"namespaces" = {
"from" : "All"
}
"kinds" = [{
"kind" = "HTTPRoute"
}]
}
}
]
}
}
}
当我运行
kubectl get gateways
时,我可以看到公共IP。
output "gateway_external_ip" {
value = kubernetes_manifest.gateway. // what goes here?
}
我已经导出了整个资源,但我不知道如何获取IP。还可能吗?
object(动态)由 API 返回的结果资源状态 从清单应用所需状态后的服务器
因此,我相信你应该从
开始output "gateway_object" {
value = kubernetes_manifest.gateway.object
}
并检查返回的对象,以便找到要提取的正确字段。