1.nlb配置
添加显示源ip字段
#添加配置(保留访问源ip)
externalTrafficPolicy: Local
此配置,在后端“多副本数”业务时会导致负载不均衡,但是若须配置白名单,则为必须前提!!
示例:
kind: Service
apiVersion: v1
metadata:
name: ingress-nginx
namespace: ingress-nginx
labels:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
annotations:
# by default the type is elb (classic load balancer).
service.beta.kubernetes.io/aws-load-balancer-type: nlb
spec:
# this setting is to make sure the source IP address is preserved.
externalTrafficPolicy: Local
type: LoadBalancer
selector:
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
ports:
- name: http
port: 80
targetPort: http
- name: https
port: 443
targetPort: https
2.对应业务的ingress添加白名单
添加白名单列表(支持网段,ip地址逗号分隔)
nginx.ingress.kubernetes.io/whitelist-source-range: 'x.x.x.x/24,x.x.x.x'
ingress优先级比nlb高,只在单独ingress生效
示例:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: grafana-ingress
namespace: grafana
annotations:
kubernetes.io/ingress.class: nginx
nginx.ingress.kubernetes.io/rewrite-target: /
nginx.ingress.kubernetes.io/whitelist-source-range: 'x.x.x.x/24,x.x.x.x'
spec:
rules:
- host: grafana.da-e.top
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: grafana-svc
port:
number: 80