docker推入Kubernetes集群内的私有Docker注册表失败:413请求实体太大

问题描述 投票:0回答:2

我在Kubernetes集群中部署了一个私有Docker注册表(图像registry:2),并通过Ingress公开它。我正在使用nginxinc/kubernetes-ingress(不是:kubernetes/ingress-nginxNGINX 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没有从注释中获取配置,而是来自名为ConfigMapnginx-config,它位于与NGINX入口控制器相同的命名空间中。我现在添加了这样一个ConfigMapdata client-max-body-size: "200m",但问题仍然存在。

nginx kubernetes docker-registry
2个回答
2
投票

您需要设置注释:

nginx.org/client-max-body-size "200m"

2
投票

我已经从NGINX Inc.'s切换到Kubernetes' NGINX入口控制器,并且在Ingress'metadata中添加以下注释证明是足够的:

annotations:
  nginx.ingress.kubernetes.io/proxy-body-size: 500m
© www.soinside.com 2019 - 2024. All rights reserved.