You need to enable JavaScript to run this app.
容器服务

容器服务

复制全文
服务与路由 FAQ
大规模业务 ConfigMaps 导致 Ingress Nginx Controller 无法启动
复制全文
大规模业务 ConfigMaps 导致 Ingress Nginx Controller 无法启动

问题现象

集群中有大量的 ConfigMap,导致 Nginx Ingress 组件创建失败。

原因分析

Ingress Nginx Controller 默认监听集群中的所有 ConfigMap,组件启动时会加载所有 ConfigMap 资源到内存中。若在业务创建过多 ConfigMap,将导致组件启动时加载资源过多,内存占用太大而引发 OOM 错误。

解决方案

限制 Ingress Nginx Controller 监听的命名空间。修改启动参数--watch-namespace=xxx-system,其中设置的命名空间即为当前 controller 所在的命名空间。

注意

此解决方案会导致该 Ingress Nginx Controller 只会对该命名空间中的 Ingress 生效。因此,如果需要在多个命名空间中都使用Ingress,需要在每个命名空间都部署一套 Ingress Nginx Controller,且修改 Ingress Nginx Controller 的启动参数,设置其只监听 Controller 所在命名空间。

最近更新时间:2023.11.21 19:52:00
这个页面对您有帮助吗?
有用
有用
无用
无用