如果使用本地流量策略,Kubernetes负载均衡器将停止服务流量

时间:2018-09-12 17:43:16

标签: networking service kubernetes load-balancing google-kubernetes-engine

当前,我将某项服务设置为负载平衡器时遇到问题。我正在尝试获取docs中所述的源IP保存。但是,当我将externalTrafficPolicy设置为local时,将丢失该服务的所有流量。我缺少什么导致这种失败的原因吗?

负载均衡器服务:

apiVersion: v1
kind: Service
metadata:
  labels:
    app: loadbalancer
    role: loadbalancer-service
  name: lb-test
  namespace: default
spec:
  clusterIP: 10.3.249.57
  externalTrafficPolicy: Local
  ports:
  - name: example service
    nodePort: 30581
    port: 8000
    protocol: TCP
    targetPort: 8000
  selector:
    app: loadbalancer-example
    role: example
  type: LoadBalancer
status:
  loadBalancer:
    ingress:
    - ip: *example.ip*

1 个答案:

答案 0 :(得分:3)

可能是几件事。一些建议:

  1. 您的服务正在获取外部IP,并且不知道如何基于Pod的本地IP地址进行回复。
    • 尝试在您的Pod上运行嗅探器,看看是否从外部源获取数据包。
    • 尝试检查您的应用程序日志。
  2. 负载均衡器中的运行状况检查失败。在GCP控制台上检查您的服务的负载均衡器。
    • 检查实例端口正在侦听。 (如果您的健康检查失败,可能不会)

lb

希望有帮助。