首页 文章

Kubernetes服务 - 使用HTTPS的负载均衡器

提问于
浏览
0

我正在使用kubernetes作为ClusterIP的服务,并将ingress置于服务前面,以将其暴露给Kubernetes集群之外 .

使用https运行入口并使其成为https,我创建了秘密并在入口中使用相同的密码 .

kubectl创建秘密tls test-secret --key key --cert cert

在我们的kubernetes集群中使用netscalar,因此,我能够使用X-Forward-For,Session亲和性,负载均衡算法以及入口 .

现在,尝试将服务类型设置为LoadBalancer,以便我不必进入 . 我知道,服务类型负载均衡器提供L4负载均衡器,因此在负载均衡器中不会有会话亲和性功能 . 因为,很少有服务,我试图使用它 .

尝试使HTTPS和我遇到的服务,

https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/#securing-the-service

在这里,我们创建tls secret并在部署部分使用引用,而不是在服务部分 . 不知道它是如何工作的 . 此外,当我在浏览器中使用https://servicename.namespace.svc.XXXXX.com获取证书错误 .

我的应用程序以https身份运行,它需要在属性文件中使用keystore和truststore,如

ssl.trustore = PATH_TO_THE_FILE ssl.keystore = PATH_TO_THE_FILE

我很困惑,我怎样才能使服务类型loadbalancer https?

1 回答

  • 1

    你自己回答,但你没有意识到 .

    正如您所说,LoadBalancer类型服务创建了一个L4负载均衡器 . L4负载均衡器了解 source IP:portdestination IP:port ,但他们不了解应用程序层上的任何内容 .

    HTTP / HTTPS负载均衡器在L7上,因此它们可以识别应用程序 .

    因此,基本上您无法从Loadbalancer类型服务获得HTTPS负载均衡器 . 你希望它成为一个入口 .

相关问题