通常情况下,service和pod的IP可以被集群网络访问。外部访问的所有流量被丢弃或转发到别处。ingress是允许入站连接到达群集服务的规则集合.可以为外部提供可访问服务的URL,流量负载均衡,可被终止的ssl连接,以及基于配置的虚拟主机。
k8s ingress配置官网链接:https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/annotations.md
在sonar-scanner分析go项目时,结果文件超过1M(nginx ingress controller 默认定义的上传大小),无法上传到sonarqube上,因此需要更改nginx配置中client_max_body_size的大小,具体修改ingress文件,如下
针对单个ingress
[root@master24 021-sonarqube]# cat sonarqube-ing.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: sonarqube
namespace: default
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: "5M"
spec:
rules:
- host: tests.sonar.com
http:
paths:
- backend:
serviceName: sonarqube
servicePort: 9000
path: /
注意到nginx.ingress.kubernetes.io为ingress-nginx的启动参数的设置:
--annotations-prefix=nginx.ingress.kubernetes.io

本文介绍了如何在Kubernetes中针对单个和所有Ingress动态修改上传文件大小限制参数client_max_body_size。在遇到超过默认1M限制的问题时,可以通过在Ingress的annotation中设置nginx.ingress.kubernetes.io/proxy-body-size来增加限制,例如设置为5M。此外,还展示了如何通过ConfigMap全局调整所有Ingress的上传限制。
最低0.47元/天 解锁文章
2384

被折叠的 条评论
为什么被折叠?



