我正在设置一些在Google容器引擎上运行的服务,并使用路径映射通过Google HTTP负载均衡器传输流量。
有一个很好的Google教程可以设置基于内容的负载均衡here,但这些都是关于普通的Google Compute对象,例如实例组和后端服务。但是,我有Kubernetes服务,pods和集群。
Kubernetes对象与Google Compute资源之间的关系是什么?如何以编程方式在两者之间进行映射?
(我知道我可以使用Kubernetes网络入口对象进行平衡,如here所述,但看起来Kubernetes Ingress还不支持需要的HTTPS。)
答案 0 :(得分:3)
Kubernetes对象与Google Compute资源之间的关系是什么?如何以编程方式在两者之间进行映射?
https://github.com/kubernetes/contrib/tree/master/Ingress/controllers/gce#overview
(我知道我可以使用Kubernetes网络入口对象进行平衡,如此处所述,但看起来Kubernetes Ingress还不支持需要的HTTPS。)
Ingress将在1.2中支持HTTPS。这就是资源的样子:https://github.com/kubernetes/kubernetes/issues/19497#issuecomment-174112834。同时,您可以使用Ingress设置HTTP负载平衡,并手动修改它以支持https。事先道歉,这是令人费解的,它会很快好起来的。
首先创建一个HTTP Ingress:
此时你应该能够卷曲你的Ingress负载均衡器IP并点击nginx服务(或你在步骤1中创建的任何服务)。
然后通过GCE console:
手动执行以下操作kubectl get ing
中的IP)openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /tmp/nginx.key -out /tmp/nginx.crt -subj“/ CN = nginxsvc / O = nginxsvc”
此时你应该可以卷曲https://loadbalancer-ip -k