当前位置: 首页 > 知识库问答 >
问题:

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

斜俊
2023-03-14

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

共有2个答案

宗政坚白
2023-03-14

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

Kubernetes本身并不为加密通信的服务提供mutual TLS解决方案,这正是具有mutual TLS-Authenticatione的Istio将此功能引入平台的原因。

慎芷阳
2023-03-14

如果您希望您的服务只能从选定的Pod访问-您可以使用网络策略。它们允许在网络级别上定义什么Pod可以与什么Pod对话。例如,您可能通过ingress公开您的服务,并且只允许ingress控制器与您的应用程序对话。这样,您就可以确保您的应用程序只能通过ingress(带有身份验证)而不是其他方式可用。

只有某些网络插件才支持网络策略:

  • 印花布
  • 打开VSwitch
  • 纤毛
  • 编织
  • 罗马语
 类似资料:
  • 我正在从事 服务项目,主要从服务间通信之间的安全角度提出疑问。在我的项目中,我们有 API 网关,它可以筛选所有传入请求是否存在安全问题,然后再将它们路由到适当的微服务。API 网关位于客户端应用程序和微服务之间。然后,它会限制微服务的公开,同时提供其他请求管理功能,例如身份验证、SSL 终止、协议转换、监视、请求路由、缓存等。 假设案例微服务1(MS1) 部门答案预计在这里。

  • 我有两个微服务,例如A和B。微服务B有剩余的enpoint,必须只能从微服务A访问。如何限制微服务之间的访问?如果可能的话,最佳做法是什么? 我正在使用Spring Cloud Security(oAuth2, jwt)。

  • 问题内容: 我的项目结构如下 我试图像这样从模块(即默认模块)导入, 但事实证明。但是我可以在内部实现相同的功能。请注意,我正在同时运行和文件。 问题答案: 部署后,GAE服务/模块不会在其模块目录(文件所在的目录)之外共享 任何内容。 因此,在dir(存在的地方)上方看不到任何东西,因此看不到。但是可以,因为模型位于其目录(存在)中。 如果需要,可以在内部进行符号链接,请参阅在App Engin

  • 问题内容: 在Eclipse RCP中,我使用 但是这样一来,我就没有对该视图的引用。因此,我不知道如何告诉ViewA更新ViewB。 在这里使用的最佳模式是什么? 问题答案: 除了上面提到的VonC,您还可以使用所需的更改不是由选择触发的更改。 有工具 创建一个实现并在服务中注册 有得到和更新,以触发的变化 阅读这些接口的文档沿和获得更好的主意,这一切是如何发挥出来。 您还可以查看Lars Vo

  • 问题内容: 我在vert.x微服务中没有做太多事情,但是我遇到了一个疑问,即使用一些我不知道的中间件或Web客户端或其他任何方式来相互了解错误服务vert.x的最佳通信方式.x允许我。 问题答案: 允许vert.x微服务在它们之间进行通信的可能性是无限的,每种情况各有利弊,并取决于上下文。 这是3种常见方式: 1)使用本机vert.x eventBus(异步逻辑):https ://vertx.i

  • 问题内容: 我知道这并不是一件容易的事,但是很遗憾,自昨天以来我一直被困在这里并与之抗争。我遵循了Android互助身份验证教程,将密钥库放置在资源中并尝试通过SSL连接到我的服务器,但是得到以下异常 java.lang.RuntimeException:org.spongycastle.jcajce.provider.asymmetric.x509.CertificateFactory $ Ex