应用Kubernetes Ingress资源时提示zone过小错误求助
问题解决:NGINX Ingress reload失败提示zone过小
错误原因
报错信息zone "default-i1-sim.daniyar.uk-first-web-app-service-80" is too small,是因为NGINX Ingress Controller为Ingress对应的上游服务生成的共享内存zone默认大小不足,导致无法加载配置。
解决方案
1. 定位NGINX Ingress的ConfigMap
默认安装的nginx.org版本Ingress Controller会使用nginx-config ConfigMap(位于nginx-ingress命名空间),用以下命令确认:
kubectl get configmaps -n nginx-ingress
2. 修改ConfigMap增大上游zone大小
编辑该ConfigMap,添加upstream-zone-size配置项,将值调整为64k(可根据实际情况调整):
kubectl edit configmap nginx-config -n nginx-ingress
在data字段下添加:
upstream-zone-size: "64k"
3. 重启Ingress Controller Pod
让新配置生效,需重启Ingress Controller的Pod:
kubectl delete pods -n nginx-ingress -l app=nginx-ingress
4. 重新应用Ingress资源
再次应用你的Ingress配置:
kubectl apply -f your-ingress-file.yaml
验证
检查Ingress Controller日志确认配置是否正常加载:
kubectl logs -n nginx-ingress -l app=nginx-ingress
若无报错,说明配置已生效。
内容的提问来源于stack exchange,提问作者user1346743
相关产品推荐
相关产品推荐

