首页 > 解决方案 > Kubernetes Nginx Ingress 通过 https 进行 pod 通信

问题描述

我正在研究如何在 Nginx Ingress -> 后端服务之间实现 https 安全连接。到目前为止,我在 Nginx Ingress 控制器中设置了 SSL,该控制器使用Lets Encrypt证书管理器使用 http-01 质询来轮换证书。

这是我的场景:

  1. 来自互联网的客户端 -> 2. 负载均衡器 -> 3. 入口控制器(终止 TLS 流量)-> 4. 服务(端口 80)-> 5. Pod(端口 80)。

所以我的问题是如何保护入口控制器和 Pod 之间的通信,以便端到端加密流量?我需要自己的证书颁发机构来执行此操作吗?如果是这样,是否有任何开源解决方案可以像Cert manager一样处理证书管理?

标签: nginxsslkubernetescert-manager

解决方案


1.Nginx入口控制器+ DAPR

我不确定我可以在这里发布 youtube 网址(至少我从未见过有人这样做)但是.. 我认为这 100% 正是你想要的。您的场景在第一个主题中讨论,您只需要观看它。另外还有一个好处 - 您将在那里看到逐步安装。我个人觉得这个视频很有帮助

安全 Ingress pod 通信

2.你可以通过 Istio 本身来实现。 Istio 示例!:安全入口

3. Istio 的 Istio + Calico 网络策略

为 Istio 实施网络策略

Calico 对 Istio 服务网格的支持具有以下好处:

-Pod 交通控制

允许您限制 Pod 内部和外部的入口流量,并减轻对启用 Istio 的应用程序的常见威胁。

- 支持安全目标

支持采用零信任网络模型来确保安全,包括流量加密、多个执行点和多个身份验证标准。


推荐阅读