我正在处理 CRD 并创建自定义资源。我需要在自定义资源中保留有关我的应用程序的大量信息。根据官方文档,etcd 最多可处理 1.5MB 的请求。我遇到了类似的错误
"error": "Request entity too large: limit is 3145728"
我相信错误中指定的限制是 3MB。对此有何想法?这个问题有什么出路吗?
最佳答案
"error": "Request entity too large: limit is 3145728"
可能是 kubernetes 处理程序对大于 3MB 的对象的默认响应,如您所见 here at L305源代码:expectedMsgFor1MB := `etcdserver: request is too large`
expectedMsgFor2MB := `rpc error: code = ResourceExhausted desc = trying to send message larger than max`
expectedMsgFor3MB := `Request entity too large: limit is 3145728`
expectedMsgForLargeAnnotation := `metadata.annotations: Too long: must have at most 262144 bytes`
--max-request-bytes
标志,但它不会对 GKE 集群产生影响,因为您在主节点上没有这样的权限。 我强烈建议您考虑以下选项:
有一个 new API Resource: File (orBinaryData) 的请求这可能适用于您的情况。它非常新鲜,但值得关注。
如果您仍然需要帮助,请告诉我。
关于Kubernetes 对象大小限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60468110/