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

lmc*_*iro 2 azure kubernetes azure-load-balancer azure-kubernetes azure-aks

我正在获取节点IP地址而不是客户端IP。是否可以使用类型为服务的客户端IP LoadBalancer?还是我需要使用入口控制器?

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
Run Code Online (Sandbox Code Playgroud)

Ant*_*ten 7

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

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  type: LoadBalancer
  externalTrafficPolicy: Local
  ...
Run Code Online (Sandbox Code Playgroud)

请参阅使用源IP