amazon-web-services - 加密 EKS 中的流量

标签 amazon-web-services kubernetes istio amazon-eks cni

我正在设置一个 <强> EKS 集群于 AWS 我希望保护 Kuberentes 集群中所有正在传输的数据(以及 EKS 和外部系统之间的数据,但这超出了本文的范围)。

在 Kubernetes 中,不同 Pod 之间使用不同的协议(protocol),主要是 Rest/HTTP 以及 microservice-pods with a KafkaBroker 之间的通信 和 JDBC microservice-pods and database pods 之间 (Zalando Postgres),介于 filebeat-pod and elasticsearch 之间,...

我看到了几个选项,但我不喜欢其中任何一个。

  • 单独加密每个通信 --> 工作量太大。运营噩梦
  • Istio 或 LinkerD --> 仅适用于 Http 和 gRPC,不适用于 KafkaCommunication。重型控制平面。
  • 像 WeaveNet 这样的 CNI --> 不支持 SecurityGroups、FlowLogs、ACL

有更好的选择吗? 您会推荐这些选项中的任何一个吗?

最佳答案

一种可能的解决方案是使用 nginx sidecar reverse proxy在所有 pod 上与 nginx 的 proxy_protocol 结合捕获所有出站流量与 ELB 和其他负载均衡器一起操作的指令。

您可以通过修改 iptables(或您在设置中选择使用的任何 SDN/模式)来强制所有出站流量进入反向代理而不是将其发送到互联网来实现此目的。然后,您可以使用 proxy_protocol 中的指令来 force all upstream TCP connections to use SSL使用反向代理定义的证书进行加密。

这应该适用于您定义的协议(protocol),因为它们都基于 TCP。

关于amazon-web-services - 加密 EKS 中的流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55423295/

相关文章:

node.js - NodeJS 是否遵守 Docker 虚拟化和资源限制?

amazon-web-services - Kubernetes 部署,其中一个 Pod 具有不同的环境

kubernetes - 没有 LB 的 Istio ingressgateway

kubernetes - 添加istio导出网关后,Pod无法curl外部网站

kubernetes - 如何访问 gke 上的端口转发服务

java - 在 EMR 上启动 Hive thrift 服务器时出错

google-chrome - ssh AWS,Jupyter Notebook 未显示在 Web 浏览器上

kubernetes - 如何使用 kubeadm upgrade 更改 kubeadm-config 中的一些功能

python - ShellCommandActivity 和 python 脚本

node.js - 为 AWS 上的 Skipper 上传创建公共(public) URL