在 kubernetes 中使用 nginx 作为转发代理

Yod*_*oda 3 proxy nginx kubernetes

我对 kubernetes 和 nginx 真的很陌生。我可以通过设置入口资源将其用作反向代理,但是,我不确定应该如何使用它将请求从 kubernetes 转发到特定主机。

我的情况如下:我有一个在 kubernetes pod 中运行的容器,它使用一些参数访问外部 api url(例如 www.xxx.com),但是,因为我阻止了所有 pod 的传出请求,所以它无法访问该 API 网址。

为了解决这个问题,我想设置 nginx 代理,它将我的请求转发到实际的 api url。

作为新手,并且缺乏任何地方记录的适当步骤来实现这一目标,我真的陷入困境。我怎样才能做到这一点?

Jav*_*ron 5

您可以做的是定义一个指向外部 API 端点的服务对象。这是通过创建同名的 Endpoint 对象和 Service 对象来完成的。

https://kubernetes.io/docs/concepts/services-networking/service/#services-without-selectors

获得服务后,您可以创建一个 Ingress 规则,将流量转发到该服务。确保 Ingress 控制器可以访问您的 API 端点。