Kubernetes ConfigMap大小限制

时间:2018-10-26 16:23:34

标签: kubernetes openshift

通过resourceQuotas,我们可以限制名称空间中configmap的数量,是否有任何这样的选项来限制单个configmap的大小? 我不希望某些用户开始将大型文本文件作为configmaps上传。

ConfigMap etcd支持的最大大小是多少?如果etcd端有合理的限制,那就可以了。

3 个答案:

答案 0 :(得分:6)

在撰写本文时,ConfigMap或Secret对象上没有hard-limits

但是,etcd端有1MB的限制,这是Kubernetes存储对象的地方。

从API方面来看,如果您实际看到API code和ConfigMap类型,您将看到其data字段是字符串的Golang映射,因此这看起来是内存绑定的,并在运行时进行管理除非使用make()来定义它。从技术上讲,哈希图上键的最大大小是int的映射长度,此处解释了最大值:Maximum number of elements in map。这也将是作为len(string)的最大值的数据值的理论极限。

如果您实际上想从kube-apiserver接收protobuf(或JSON)的API方面获取更多见解,可以看看google protobuf maximum size。这将为您提供一些有关通过导线发送data字段的限制的措施。在处理任何大消息时,kube-apiserver本身可能还有其他限制。

答案 1 :(得分:1)

直到日期配置图都属于对象计数配额。您可以强制最大数量的配置映射。您不能限制单个配置映射的大小。由于它们尚未包括在“存储资源配额”下。

https://kubernetes.io/docs/concepts/policy/resource-quotas/

答案 2 :(得分:1)

根据 kubernetes.io,单个 configmap 的大小限制为 1mb:

<块引用>

ConfigMap 不是为保存大量数据而设计的。存储在 ConfigMap 中的数据不能超过 1 MiB。如果您需要存储大于此限制的设置,您可能需要考虑挂载卷或使用单独的数据库或文件服务。

引自这里 - https://kubernetes.io/docs/concepts/configuration/configmap/#motivation