Kubernetes在Google容器引擎中加载均衡器SSL终止?

时间:2015-11-10 15:06:03

标签: ssl load-balancing kubernetes google-kubernetes-engine

背景

我对谷歌的云平台很陌生,所以我想确保我没有遗漏任何明显的东西。

我们正在尝试使用GKE和Kubernetes,我们希望通过https公开一些服务。我已经阅读了http(s) load-balancing的文档,这些文档似乎建议您应该维护自己的nginx实例来执行SSL终端和负载平衡。对我而言,这看起来非常复杂(我习惯于在AWS及其负载平衡器(ELB)上工作,它已支持多年的SSL终止。)

问题:

  1. 如果所有需要在GKE中进行SSL终止,那么创建和维护nginx实例的方法是什么?
  2. 如果是这样,这是怎么做到的?该 documentation 似乎并没有真正表达这种想法。

1 个答案:

答案 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,目前该过程是手动的。如果您不清楚确切的手动步骤回复此问题,我会澄清(不确定我是否应该在这里列出所有这些并让您更加困惑)。