背景
我对谷歌的云平台很陌生,所以我想确保我没有遗漏任何明显的东西。
我们正在尝试使用GKE和Kubernetes,我们希望通过https公开一些服务。我已经阅读了http(s) load-balancing的文档,这些文档似乎建议您应该维护自己的nginx实例来执行SSL终端和负载平衡。对我而言,这看起来非常复杂(我习惯于在AWS及其负载平衡器(ELB)上工作,它已支持多年的SSL终止。)
问题:
答案 0 :(得分:6)
Tl; Dr:为Kubernetes 1.2观看这个空间
到目前为止,Kubernetes仅支持L4负载均衡。这意味着GCE / GKE负载均衡器打开了一个tcp连接,只是将流量发送到后端,后端负责终止ssl。从Kubernetes 1.1开始,Kubernetes有一个“Ingress”资源,但它目前处于Beta状态,只支持HTTP。它将支持1.2中的不同SSL模式。
那么,如何使用普通的Kubernetes服务终止SSL? https://github.com/kubernetes/kubernetes/blob/release-1.0/examples/https-nginx/README.md
如何为此服务创建负载均衡器?
L4:将NodePort更改为LoadBalancer(https://github.com/kubernetes/kubernetes/blob/release-1.0/examples/https-nginx/nginx-app.yaml#L8)
L7:部署服务负载均衡器(https://github.com/kubernetes/contrib/tree/master/service-loadbalancer#https)
如何通过Kubernetes创建GCE HTTP负载均衡器? https://github.com/kubernetes/kubernetes/blob/master/docs/user-guide/ingress.md#simple-fanout
那么如何通过Kubernetes创建GCE HTTPS负载均衡器呢? 进入1.2,目前该过程是手动的。如果您不清楚确切的手动步骤回复此问题,我会澄清(不确定我是否应该在这里列出所有这些并让您更加困惑)。