k8s ingress高级配置,动态修改上传文件大小限制参数client_max_body_size

1,528 阅读1分钟

通常情况下,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配置中clientmaxbody_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.ioingress-nginx的启动参数的设置:

--annotations-prefix=nginx.ingress.kubernetes.io

在这里插入图片描述

针对所有ingress

[root@master24 002-nginx-ingress-controller]# cat nginx-ingress-cm.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-custom-configuration
  namespace: kube-system
  labels:
    k8s-app: nginx-ingress-controller
data:
  proxy-body-size: "5m"

作者简洁

作者:小碗汤,一位热爱、认真写作的小伙,目前维护原创公众号:『我的小碗汤』,专注于写go语言、docker、kubernetes、java等开发、运维知识等提升硬实力的文章,期待你的关注。转载说明:务必注明来源(注明:来源于公众号:我的小碗汤,作者:小碗汤)