docker 推送到 Kubernetes 集群内的私有 Docker 注册表失败:413 请求实体太大
docker push into private Docker registry inside Kubernetes cluster fails with: 413 Request Entity Too Large
我已经在 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 入口控制器接受足够大的块的正确方法是什么?
UPDATE 我同时 concluded nginxinc/kubernetes-ingress
没有从注释中获取其配置,而是从名为 [=26] 的 ConfigMap
=] 驻留在与 NGINX 入口控制器相同的命名空间中。我现在已经添加了这样一个ConfigMap
和data
client-max-body-size: "200m"
,但是问题依旧
您需要设置注释:
nginx.org/client-max-body-size "200m"
我已经从 NGINX Inc.'s to Kubernetes' NGINX 入口控制器切换,并在 Ingress
' metadata
中添加以下注释证明足够了:
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: 500m
我已经在 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 入口控制器接受足够大的块的正确方法是什么?
UPDATE 我同时 concluded nginxinc/kubernetes-ingress
没有从注释中获取其配置,而是从名为 [=26] 的 ConfigMap
=] 驻留在与 NGINX 入口控制器相同的命名空间中。我现在已经添加了这样一个ConfigMap
和data
client-max-body-size: "200m"
,但是问题依旧
您需要设置注释:
nginx.org/client-max-body-size "200m"
我已经从 NGINX Inc.'s to Kubernetes' NGINX 入口控制器切换,并在 Ingress
' metadata
中添加以下注释证明足够了:
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: 500m