【问题标题】:Expose service on custom port via `https` on GKE通过 GKE 上的“https”在自定义端口上公开服务
【发布时间】:2021-01-21 13:01:10
【问题描述】:

我是 Kubernetes 的新手(具体来说是 GKE),这是我的第三周,所以对我来说很简单。

我的任务是通过https 公开statefulset,如下所示:

- https://example.com/whateva -> service:8080 (+Google Cloud CDN)
- https://example.com:5001    -> service:9095

我已经尝试了一周。给人的印象是这个要求很简单?谁能指出我正确的方向?

问题:

  • 我想使用来自谷歌云的managedcertificate 但这似乎不可能?
  • 哪个ingress 实现能够在提供易于理解的文档的同时实现这一目标?

【问题讨论】:

  • 我需要通过 https 访问端口 5001 上的服务
  • 使用managedCertificate 将要求您使用GKE Ingress for HTTP(S) Load Balancing,它仅适用于端口80,443GKE Ingress 将支持您的用例(managedCertificateCloudCDN),但您将无法在 Ingress 级别更改传入流量端口。你的要求是强制性的吗?可以以任何方式更改它们吗?
  • 感谢您的详细说明。我不想相信这是不可能的。我想我可以更改要求。

标签: kubernetes google-kubernetes-engine


【解决方案1】:

ingress 创建一个 L7/HTTP/HTTPS 负载平衡器,它只能在 tcp 端口 443 上转发 HTTPS。唯一可以转发端口 5001 的负载平衡器是 Network TCP/UDP type。网络负载平衡器不会终止 ssl/tls,因此无法使用 managedcertificate。 tls 连接被传递到集群中的 pod,其中必须存在证书和密钥才能处理 tls 连接。

【讨论】:

    猜你喜欢
    • 2022-12-12
    • 2020-05-05
    • 2019-04-15
    • 2021-07-29
    • 2019-12-27
    • 2021-11-22
    • 2019-08-19
    • 2017-12-20
    • 1970-01-01
    相关资源
    最近更新 更多