Pod 内部的 TLS 通信

Pod 内部的 TLS 通信

我有一个带有两个容器的 pod:c1 和 c2,c2 是 sidecar。c1 在 tls 中运行,c2 使用 TLS 与 c1 通信。

c1 和 c2 可以共享同一个证书。证书应该使用哪个 CN 或 SAN?

我努力了:

  • pod 名称:如果 sts 扩展,pod 名称可能会发生变化,例如 pod-0、pod-1、pod-2。通配符应该可以工作,但它会带来潜在的安全问题。
  • 服务名称:这不起作用,它无法识别 c1。
  • localhost:这是因为 c1 和 c2 共享相同的 pod 资源,但这会带来潜在的安全问题。

还有其他解决方案吗?

答案1

同一 pod 内的容器共享相同的网络命名空间。因此,一个容器上的 localhost = 另一个容器上的 localhost。这就是您可能使用的方式。

话虽如此,使用 TLS 来保护同一 pod 内两个容器之间的通信的情况极为罕见,我通常不推荐这样做。你的问题没有解释为什么需要这样做,以及你试图缓解的潜在安全问题是什么。

为了在 Pod 之间实现安全通信,您可以使用 Istio 服务网格等解决方案提供的 TLS。它将自动为您处理证书。

相关内容