首页 > 解决方案 > 将 pod 暴露给特定的预定 IP 地址

问题描述

我希望公开单个 pod HTTP。这里的诀窍是,有问题的 pod 需要知道它的外部有效 IP 地址,因此为了提前配置它,我必须确定我公开它的外部 IP 地址。

目前我正在尝试以这种方式公开:

kubectl expose pod my-pod --type=LoadBalancer --name=lb-http --external-ip=$IP --port=80 --target-port=30000

但是我认为该--external-ip标志没有按我的意愿运行,因为我的 GKE 集群最终使用了不同的端点 IP 地址。

有没有办法将单个 pod 暴露给特定的预定 IP 地址

标签: networkingkubernetes

解决方案


不可能通过 LoadBalancer 类型的服务。但是,您可以使用 nginx 入口控制器在相同的静态 IP 上公开所有 pod,并为基于路径和主机的路由应用入口规则。本文档演示了如何通过 Nginx 控制器将静态 IP 分配给入口。

您也可以使用 GKE 入口实现相同的目标。这是有关如何执行此操作的文档。


推荐阅读