Kubernetes 命名空间的最大数量是多少?

What's the maximum number of Kubernetes namespaces?

Kubernetes 集群支持的命名空间数量是否有上限?我的团队正在设计一个通过 K8s 处理 运行 用户工作负载的系统,我们正在考虑为每个用户使用一个命名空间以在集群中提供逻辑分段,但我们不想达到可以使用的用户数量上限使用我们的服务。

我们正在使用 Amazon 的 EKS 托管 Kubernetes 服务和 Kubernetes v1.11。

命名空间的数量没有限制。您可以根据需要创建任意多个。它实际上并不消耗cpu、内存等集群资源

这很难回答,它取决于很多因素,以下是在 k8s 1.7 集群 kubernetes-theresholds 上创建的一些事实命名空间 (ns) 为 10000,几乎没有假设

从代码的角度来看没有限制,因为只是一个实例化为变量的 Go type

除了@SureshVishnoi 发布的 link 之外,限制将取决于您的设置,但一些可能影响您的命名空间(和集群中的资源)扩展的因素是:

  • 您的主人所在的物理或 VM 硬件大小 运行
    • 遗憾的是,EKS 尚未提供(毕竟这是一项托管服务)
  • 您的集群正在处理的节点数。
  • 每个命名空间pods的数量
  • 总体 K8s 资源(部署、机密、服务帐户等)的数量
  • etcd 数据库的硬件大小。
    • 存储:您可以保留多少资源。
    • 原始性能:你有多少内存和CPU。
  • 主组件和 etcd 存储之间的网络连接(如果它们位于不同的节点上)。
    • 如果它们在相同的节点上,那么您将受到服务器内存、CPU 和存储的限制。