【发布时间】:2023-03-12 18:37:01
【问题描述】:
我想在一个 K8S 命名空间中的服务之间启用 mTLS。我想知道我是否可以在不使用服务网格的情况下做到这一点?我考虑过 cert-manager,但我看到的所有示例都涉及我不需要的 Ingress 资源,因为我的服务没有暴露在集群之外。谢谢
【问题讨论】:
标签: kubernetes cert-manager mtls
我想在一个 K8S 命名空间中的服务之间启用 mTLS。我想知道我是否可以在不使用服务网格的情况下做到这一点?我考虑过 cert-manager,但我看到的所有示例都涉及我不需要的 Ingress 资源,因为我的服务没有暴露在集群之外。谢谢
【问题讨论】:
标签: kubernetes cert-manager mtls
使用像Istio 或Linkerd 这样的Service Mesh 是目前唯一的通用解决方案。
也应该可以为您的应用使用库来执行此操作,该库通常需要支持证书管理。 Service Meshes 通常使用 EnvoyProxy 作为 sidecar,它实现了用于管理的新颖的“控制平面”API,称为 xDS protocols - 这是您的库通常需要实现的东西。此外,您还需要一个控制平面接口来管理服务。
在库中这样做的一个缺点是它依赖于语言。但优点是它的性能会更好。
Google 最近通过Traffic Director - proxyless service mesh 采取了这条路线
【讨论】: