我正在尝试构建一个需要通过Internet连接到套接字而无需停机的服务 . 该服务将读取和发布信息到消息队列,消息应仅发布一次并按接收顺序发布 .
出于这个原因,我想到将它部署到Kubernetes,我可以自动拥有多个副本,以防一个进程失败,即只有一个进程(pod)应该一直运行,而不是多个pod将相同的消息发布到队列 .
这些请求需要通过具有静态IP的代理进行路由,否则我无法连接到套接字 . 我知道这可能不是作为反向代理的标准用例,因为它通常用于负载 balancer 器,如Nginx .
如何在Kubernetes中构建这种前向代理?
我将在 Google Container Engine
上部署这个 .
2 回答
你需要LoadBalancer吗?
kubernetes create external loadbalancer,你可以看到这个doc .
假设您很乐意使用Terraform,您可以使用:
https://github.com/GoogleCloudPlatform/terraform-google-nat-gateway
但是,有一点需要注意,即它可能会在同一区域/区域内向其他群集的入站流量 .