带有后端服务的Google云端CDN,存储和容器引擎问题

时间:2017-04-06 15:07:18

标签: cdn gcloud google-kubernetes-engine

我有一个我似乎无法解决的特定用例。

典型的gcloud设置:

  • K8S群集

  • gcloud存储桶

  • gcloud loadbalancer

我设法让我的域https://cdn.foobar.com/uploads/指向谷歌存储后端没有任何问题:我可以访问文件。它的后端服务失败了。

我希望CDN充当缓存,当HTTP请求到达https://cdn.foobar.com/assets/x.jpg时,如果它没有资产副本,它应该查询其他域{{ 1}}。

我理解这是负载均衡器https://foobar.com/assets/x.jpg的用途。 (右?)

backend-service指向k8s群集的实例组,需要一个端口。我backend-service我需要允许防火墙公开我的Web应用程序服务的guessed,以便loadbalancer能够查询它。

云CDN

enter image description here

enter image description here

负载均衡

健康检查失败。

enter image description here

后端服务指向k8s群集的实例组,并且需要一些端口(默认80?)80失败。我Nodeport我需要允许防火墙公开我的web应用程序服务的32231 guessed,以便负载均衡器能够查询它。那仍然是失败的502。

Nodeport

enter image description here

此时我的想法已经用尽了。 任何正确方向的提示都会非常感激。

1 个答案:

答案 0 :(得分:2)

当您将服务部署为“NodePort”类型时,您将在每个节点的IP上公开该服务,但该服务无法访问外部,因此您需要将服务公开为“LoadBalancer”

由于您希望使用HTTP(s)Load Balancer,我建议您使用Kubernetes Ingress resource。此资源将负责配置HTTP(s)负载均衡器以及您的服务正在使用的所需端口,以及指定端口上的运行状况检查。

由于您要保护应用程序,因此需要为secret配置securing the Ingress对象。

example将帮助您开始使用TLS终止的Ingress。