我在Kubernetes集群中部署了一个私有Docker注册表(图像registry:2
),并通过Ingress
公开它。我正在使用nginxinc/kubernetes-ingress
(不是:kubernetes/ingress-nginx
)NGINX ingress controller。
curl https://my_registry/v2/_catalog
工作正常。但docker push
进入注册表遇到了这个错误:Pushing
... 100.6MB/100.6MB
... 413 Request Entity Too Large
。
据我所知,这可以通过指示NGINX ingres控制器接受更大的数据块来缓解。我有例如尝试将注释nginx.ingress.kubernetes.io/proxy-body-size: "200m"
添加到我的Ingress
规范中(如建议的here),但到目前为止还没有奏效。
那么指示nginxinc/kubernetes-ingress
NGINX入口控制器接受足够大的块的正确方法是什么?
更新我同时concluded nginxinc/kubernetes-ingress
没有从注释中获取配置,而是来自名为ConfigMap
的nginx-config
,它位于与NGINX入口控制器相同的命名空间中。我现在添加了这样一个ConfigMap
与data
client-max-body-size: "200m"
,但问题仍然存在。
您需要设置注释:
nginx.org/client-max-body-size "200m"
我已经从NGINX Inc.'s切换到Kubernetes' NGINX入口控制器,并且在Ingress
'metadata
中添加以下注释证明是足够的:
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: 500m