如何使用LoadBalancer服务从Azure Kubernetes内部获取客户端IP地址

时间:2018-09-09 20:49:11

标签: azure kubernetes azure-kubernetes azure-load-balancer azure-aks

我正在获取节点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

1 个答案:

答案 0 :(得分:5)

您不需要任何Ingress控制器。但是,必须在Microsoft Azure中将spec.externalTrafficPolicy服务字段的值设置为“本地”(默认为“群集”)。

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  type: LoadBalancer
  externalTrafficPolicy: Local
  ...

请参见Using source IP