问题描述
在公司某套容器化环境里有容器化的nacos,通过脚本发布nacos配置,某个大文件,占用空间56kb,发布这个配置的时候提示如下报错
<html>
<head><title>414 Request-URI Too Large</title></head>
<body>
<center><h1>414 Request-URI Too Large</h1></center>
<hr><center>nginx</center>
</body>
</html>
kubesphere的项目网关是nodePort的方式 如下图
问题解决
解决办法: 给负责调度ingress的nginx容器添加如下配置
client_header_buffer_size 512k;
large_client_header_buffers 4 512k;
client_max_body_size 200m;
具体操作步骤如下
添加nginx配置
找到项目的网关 编辑
添加如下图的三个配置 点击确定
具体参数是
client-herder-buffer-size 512k
large-client-header-buffers 4 512k
proxy-body-size 200m
【注意 此处的中划线 不是下划线 下划线不生效】
重启服务调度的pod
这里有规律
- 目标pod在
kubesphere-controls-system
这个namespace里 - 目标pod对应的deploy 名字是
kubesphere-router-${namespace}
${namespace}
是你自己应用所处的namespace
重启操作 其实就是删除pod 让其重新生成的操作
如下命令可以操作 假如我的服务在的namespace是example
# 1. 获取pod名称
kubectl -n kubesphere-controls-system get pod | grep kubesphere-router-example
# 2. 删除pod (假如上一步获取的pod名称是kubesphere-router-example-54cb9dfb68-hhl9n)
kubectl -n kubesphere-controls-system delete pod kubesphere-router-example-54cb9dfb68-hhl9n
等pod起来后 再次尝试 问题解决了