首页 文章

在内部将域名解析为Kubernetes服务

提问于
浏览
1

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

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

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

有没有办法让Kubernetes的DNS系统将完整域名解析为特定服务,因此它不会在集群外部路由?

1 回答

  • 1

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

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

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

    • 继续解析FQDN,不用担心将请求路由到群集然后再回到群集中 . 这实际上与即将 Build 的Kubernetes集群联合中的跨集群服务发现/联合功能没有什么不同 .

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

相关问题