首页 文章

Kubernetes服务和集群与Google Compute Engine对象之间的关系是什么?

提问于
浏览
3

我正在设置一些运行在Google容器引擎上的服务,使用路径映射通过Google HTTP负载均衡器传输流量 .

有一个很好的Google教程可以设置基于内容的负载均衡here,但它完全取决于普通的Google Compute对象,例如实例组和后端服务 . 然而,我有Kubernetes服务,pods和集群 .

Kubernetes对象与Google Compute资源之间的关系是什么?如何以编程方式在两者之间进行映射?

(我知道我可以使用Kubernetes web ingress对象进行 balancer ,如here所述,但看起来Kubernetes Ingress还不支持HTTPS,这需要 . )

1 回答

  • 3

    Kubernetes对象与Google Compute资源之间的关系是什么?如何以编程方式在两者之间进行映射?

    https://github.com/kubernetes/contrib/tree/master/Ingress/controllers/gce#overview

    (我知道我可以使用Kubernetes网络入口对象进行 balancer ,如此处所述,但看起来Kubernetes Ingress还不支持HTTPS,这需要 . )

    Ingress将在1.2中支持HTTPS . 这就是资源的样子:https://github.com/kubernetes/kubernetes/issues/19497#issuecomment-174112834 . 同时,您可以使用Ingress设置HTTP负载 balancer ,并手动修改它以支持https . 事先道歉,这是令人费解的,它会很快好起来的 .

    首先创建一个HTTP Ingress:

    此时,您应该能够卷曲Ingress负载均衡器IP并点击nginx服务(或您在步骤1中创建的任何服务) .

    然后通过GCE console手动执行以下操作:

    • 将Ingress资源的IP从"Ephmermal"更改为"Static"(在"External IP addresses"选项卡中查找 kubectl get ing 中的IP)

    • 创建您的ssl证书 . 如果您只想要自签名证书,您可以:

    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /tmp/nginx.key -out /tmp/nginx.crt -subj“/ CN = nginxsvc / O = nginxsvc”

    • 为HTTPS负载均衡器创建新的目标HTTPS代理和转发规则,并将其分配给http负载均衡器的相同(静态)IP .

    此时你应该能够卷曲https://loadbalancer-ip -k

相关问题