我在Kubernetes中运行了一些node.js微服务,现在我需要找到一种在它们之间进行通信的方法。我正在考虑公开一个只能从其他pod内部访问的端点。我一直在寻找几个小时,但没有找到足够安全的解决方案。有没有办法让它像这样工作?谢谢!
如果您希望只能从选定的广告连播中访问您的服务 - 您可以使用Network Policies。它们允许定义哪些pod可以与网络级别的pod进行通信。例如,您可以通过入口公开您的服务,并且只允许入口控制器与您的应用程序通信。这样您就可以确保您的应用程序只能通过入口(使用身份验证)而无法通过其他方式获得。
网络策略仅支持某些网络插件:
以安全的方式在Kubernetes中的服务之间进行通信
在本地,Kubernetes不为加密通信服务提供相互TLS解决方案,这就是Istio与mutual-tls-authenticatione将此功能带入平台的地方。
只需使用'cluster ip'作为服务类型。这将使您的服务在群集中公开。你可以在Http上使用他们的名字服务。
对于任何公开谈论的服务,您可能需要使用负载均衡器服务类型或入口控制器。