【问题标题】:Resolve domain name to Kubernetes service internally内部解析域名到 Kubernetes 服务
【发布时间】:2016-06-15 11:31:43
【问题描述】:

我们在 Kubernetes 中运行大量应用程序,并使用 HAProxy 和 LetsEncrypt 生成的证书在 pod 内处理 TLS 终止。

这对于来自 Kubernetes 集群外部的流量非常有效,因为请求使用证书中指定的域名。

但是,对于使用服务名称的内部通信 - 使用 https:/// 之类的 url - url 的主机部分不再匹配证书中定义的内容,从而导致失败。

有没有什么办法可以让Kubernetes的dns系统将全域名解析到特定的服务,这样就不会被路由到集群外?

【问题讨论】:

    标签: ssl dns kubernetes lets-encrypt


    【解决方案1】:

    我能想到几个你可以追求的选择:

    1. 如果您信任集群网络的安全性,您可以让仅传输集群的请求通过 http 而不是 https 运行。

    2. 您可以让您的 HAProxy 实例为使用 SNI 的内部请求提供不同的证书。您需要一种方法来生成和分发内部证书,但它允许您向客户端提供与 Kubernetes 服务名称匹配的证书。

    3. 继续解析 FQDN,不必担心将请求路由出去然后再返回到集群。这实际上与即将内置到 Kubernetes 集群联邦中的跨集群服务发现/联邦功能没有什么不同。

    实际上并没有办法注入/覆盖外部 FQDN 解析以返回内部服务 IP。

    【讨论】:

      猜你喜欢
      • 2020-07-30
      • 2021-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-19
      • 2021-10-27
      • 2013-12-12
      • 1970-01-01
      相关资源
      最近更新 更多