我正在获取节点IP地址而不是客户端IP。是否可以使用类型为LoadBalancer
的服务获取客户端IP?还是我需要使用入口控制器?
apiVersion: v1
kind: Service
metadata:
name: app-svc
labels:
name: app-svc
environment: dev
spec:
type: LoadBalancer
loadBalancerIP: XXX.XXX.XXX.XXX
ports:
- name: http-port
port: 80
targetPort: 80
protocol: TCP
selector:
name: app-deploy
答案 0 :(得分:5)
您不需要任何Ingress控制器。但是,必须在Microsoft Azure中将spec.externalTrafficPolicy
服务字段的值设置为“本地”(默认为“群集”)。
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: LoadBalancer
externalTrafficPolicy: Local
...
请参见Using source IP。