我想在Google容器引擎上运行docker镜像的群集前放置一个HTTP负载均衡器,这样我就可以使用HTTPS而不需要应用程序来支持它。
我使用以下命令创建了一个容器集群:
gcloud container clusters create test --zone europe-west1-b --machine-type f1-micro --num-nodes 3
然后我创建了一个复制控制器来在集群上运行一个图像,该图像基本上是nginx,其上复制了静态文件。
如果我为此创建网络负载均衡器,一切正常。我可以转到我的负载均衡器IP地址并查看该网站。但是,如果我创建一个HTTP负载均衡器来使用创建集群时创建的实例组,我会得到一个HTTP 502.我还注意到,如果我尝试浏览到集群中任何单个实例的外部IP地址,它拒绝连接。
对于0.0.0.0/0
tcp:80
已经存在针对集群实例使用的标记的防火墙规则,如果我没有弄错,应该允许任何地方连接到这些实例上的端口80 。它似乎没有工作。
答案 0 :(得分:0)
让您的服务在个别情况下公开展示'公共IP,需要指定为NodePort服务。否则,只能从群集中访问服务IP,这可能解释了您的502.在实例上可以访问公共IP,HTTP负载均衡器需要工作。
使用walkthrough对象在GKE上进行HTTP负载平衡可能有用Ingress。{/ p>