是否可以定义一个入口(ingresses.networking.k8s.io
)将请求转发到私有网络中的具体静态 IP 地址?
我有一个服务未在 K8S 集群上运行,但它位于私有网络中,并且所有 K8S pod 都可以访问此网络。此网络中有许多辅助服务,由于某些原因,我不想将这些服务部署在 K8S 集群中。我希望通过 ingress-nginx 公开其中一些服务,但目前我没有看到将后端定义为静态 IP 地址的方法。
那可能吗?
谢谢!
答案1
您可以使用外部服务作为 Ingress 后端。
您可以引入任何作为 Kubernetes 服务的外部 IP 地址通过创建匹配的服务和 Endpoint 对象。然后,您可以将此服务用作 Ingress 规则的后端。
更多详情请见这里。
答案2
笔记:您无法编辑现有的ingress-nginx
负载均衡器服务,但您可以能在安装时传递您想要使用的外部 IP。请记住,您需要提前在云环境中设置该外部 IP。
下面是执行 Helm 安装时对我有用的命令:
helm upgrade --install ingress-nginx ingress-nginx \
--repo https://kubernetes.github.io/ingress-nginx \
--namespace ingress-nginx --create-namespace \
--debug \
--set controller.service.loadBalancerIP=<YOUR_STATIC_IP>
更多信息: