Kubesphere的ingress提示414 Request-URI Too Large

文章目录

  • 问题描述
  • 问题解决
    • 添加nginx配置
    • 重启服务调度的pod

问题描述

在公司某套容器化环境里有容器化的nacos,通过脚本发布nacos配置,某个大文件,占用空间56kb,发布这个配置的时候提示如下报错

<html>
<head><title>414 Request-URI Too Largetitle>head>
<body>
<center><h1>414 Request-URI Too Largeh1>center>
<hr><center>nginxcenter>
body>
html>

Kubesphere的ingress提示414 Request-URI Too Large_第1张图片

kubesphere的项目网关是nodePort的方式 如下图
Kubesphere的ingress提示414 Request-URI Too Large_第2张图片

问题解决

解决办法: 给负责调度ingress的nginx容器添加如下配置

client_header_buffer_size 512k;
large_client_header_buffers 4 512k;
client_max_body_size 200m;

具体操作步骤如下

添加nginx配置

找到项目的网关 编辑

Kubesphere的ingress提示414 Request-URI Too Large_第3张图片
添加如下图的三个配置 点击确定
Kubesphere的ingress提示414 Request-URI Too Large_第4张图片
具体参数是

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起来后 再次尝试 问题解决了

你可能感兴趣的:(日常报错,kubernetes,kubesphere,虚拟化)