【问题标题】:EKS pods multi tenant with RDS使用 RDS 的 EKS pod 多租户
【发布时间】:2019-07-23 19:05:12
【问题描述】:

我有一个带有 ASG 的 EKS 集群。 我想限制特定名称空间中的 pod 连接到特定的 RDS 服务。

这在 AWS 中是否可用,有什么建议吗?

寻找已经在生产中运行的最佳实践。

【问题讨论】:

  • 可能想使用 kube2iam 或等效的。

标签: kubernetes rds amazon-eks


【解决方案1】:

我认为没有办法将一个命名空间列入白名单以访问您的 RDS 实例。这主要是因为集群是共享的,AWS 服务并不真正了解 kubernetes 命名空间是什么。

为了实现连接,您可以拥有私有 vpc 对等互连或公开可用的 RDS,您将在其上将连接到 VPC NAT 网关的弹性 IP 列入白名单。我强烈建议您使用私有 vpc 对等互连,然后您至少知道连接是私有的。

最后,整个集群都将允许 RDS 访问,因为您不能真正将其限制为单个资源集。但是,因为您的 RDS 需要用户凭据才能访问其中的任何数据,所以我认为将您的集群列入 RDS 白名单并不是什么大问题。

【讨论】:

  • 如果我在多租户环境中运行,并且我允许所有集群访问特定 RDS,它会公开所有 pod,这意味着所有租户对所有 RDS。想知道是否有办法用 calcio 做类似的解决方案?
  • 使用 calico,您将能够限制从不同名称空间内访问某些端口,但如果您有很多端口,它就不会很好地工作。在某些时候,您会发现自己的命名空间过多,并且所有命名空间都需要访问特定端口,该端口将是 MySQL 或 Postgres 默认端口。
  • 请注意,我有完全相同的场景,对于 kubernetes 集群,它总是同样的问题。我最好的建议是使用私有连接并确保凭据不容易被猜到。
  • 没错,虽然我真的希望找到类似于:github.com/jtblin/kube2iam 的东西,它已经在生产中运行并获得认证
  • Kiam 的建议有点离题。但请考虑阅读google.co.uk/amp/s/www.bluematador.com/blog/…
猜你喜欢
  • 1970-01-01
  • 2019-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-15
  • 2018-06-02
  • 1970-01-01
  • 2020-11-27
相关资源
最近更新 更多