我在Kubernetes中运行了一些node.js微服务,现在我需要找到一种在它们之间进行通信的方法。我当时想公开一个只能从其他Pod内部访问的端点。我一直在搜索数小时,但没有找到足够安全的解决方案。有没有办法使它像这样工作?谢谢!
答案 0 :(得分:2)
如果您希望只能从选定的Pod访问服务,则可以使用Network Policies。它们允许定义哪些Pod可以与网络级别的Pod对话。例如,您可以通过入口公开您的服务,并且仅允许入口控制器与您的应用程序对话。这样,您可以确保您的应用程序只能通过入口(带有身份验证)才能使用,而不能通过其他方式使用。
仅某些网络插件支持网络策略:
答案 1 :(得分:2)
以安全的方式在Kubernetes中的服务之间进行通信
从本质上讲,Kubernetes不为加密通信服务提供双向TLS解决方案,这就是Istio与mutual-tls-authenticatione一起为平台提供此功能的地方。
答案 2 :(得分:1)
只需将“群集ip”用作服务类型。这样可以使您的服务在群集中公开。您可以在Http上按服务名称使用服务。
对于正在公开讨论的任何服务,您可能需要使用负载均衡器服务类型或入口控制器。