如何以安全的方式在Kubernetes中的服务之间进行通信

问题描述 投票:1回答:3

我在Kubernetes中运行了一些node.js微服务,现在我需要找到一种在它们之间进行通信的方法。我正在考虑公开一个只能从其他pod内部访问的端点。我一直在寻找几个小时,但没有找到足够安全的解决方案。有没有办法让它像这样工作?谢谢!

api kubernetes microservices access
3个回答
2
投票

如果您希望只能从选定的广告连播中访问您的服务 - 您可以使用Network Policies。它们允许定义哪些pod可以与网络级别的pod进行通信。例如,您可以通过入口公开您的服务,并且只允许入口控制器与您的应用程序通信。这样您就可以确保您的应用程序只能通过入口(使用身份验证)而无法通过其他方式获得。

网络策略仅支持某些网络插件:

  • 印花布
  • 打开vSwitch
  • 纤毛
  • 编织
  • 罗马尼亚

2
投票

以安全的方式在Kubernetes中的服务之间进行通信

在本地,Kubernetes不为加密通信服务提供相互TLS解决方案,这就是Istio与mutual-tls-authenticatione将此功能带入平台的地方。


1
投票

只需使用'cluster ip'作为服务类型。这将使您的服务在群集中公开。你可以在Http上使用他们的名字服务。

对于任何公开谈论的服务,您可能需要使用负载均衡器服务类型或入口控制器。

© www.soinside.com 2019 - 2024. All rights reserved.