通常情况下,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文件,如下
[root@master24 021-sonarqube]# cat sonarqube-ing.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: sonarqube
namespace: default
annotations:
ingress.kubernetes.io/proxy-body-size: "600M"
spec:
rules:
- host: tests.sonar.com
http:
paths:
- backend:
serviceName: sonarqube
servicePort: 9000
path: /
[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: "50m"