通过resourceQuotas,我们可以限制名称空间中configmap的数量,是否有任何这样的选项来限制单个configmap的大小? 我不希望某些用户开始将大型文本文件作为configmaps上传。
ConfigMap etcd支持的最大大小是多少?如果etcd端有合理的限制,那就可以了。
答案 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)
直到日期配置图都属于对象计数配额。您可以强制最大数量的配置映射。您不能限制单个配置映射的大小。由于它们尚未包括在“存储资源配额”下。
答案 2 :(得分:1)
根据 kubernetes.io,单个 configmap 的大小限制为 1mb:
<块引用>ConfigMap 不是为保存大量数据而设计的。存储在 ConfigMap 中的数据不能超过 1 MiB。如果您需要存储大于此限制的设置,您可能需要考虑挂载卷或使用单独的数据库或文件服务。
引自这里 - https://kubernetes.io/docs/concepts/configuration/configmap/#motivation