kubernetes服务无法向自身发送请求

kubernetes服务无法向自身发送请求,kubernetes,minikube,kube-proxy,Kubernetes,Minikube,Kube Proxy,我有一个服务,在某些上下文中,它向自身发送请求。 我可以从集群外部访问服务,但自请求失败(超时) 环境: minikube v0.34.1 Linux版本4.15.0(jenkins@jenkins)(gcc版本7.3.0(Buildroot 2018.05))#1 SMP周五2月15日19:27:06 UTC 2019 我一直在使用它作为故障排除指南,但现在我的步骤是“寻求帮助” 故障排除结果: journalctl -u kubelet | grep -i hairpin Feb 2

我有一个服务,在某些上下文中,它向自身发送请求。 我可以从集群外部访问服务,但自请求失败(超时)

环境:

  • minikube v0.34.1
  • Linux版本4.15.0(jenkins@jenkins)(gcc版本7.3.0(Buildroot 2018.05))#1 SMP周五2月15日19:27:06 UTC 2019
我一直在使用它作为故障排除指南,但现在我的步骤是“寻求帮助”

故障排除结果:

journalctl -u kubelet | grep -i hairpin  
Feb 26 19:57:10 minikube kubelet[3066]: W0226 19:57:10.124151    3066 docker_service.go:540] Hairpin mode set to "promiscuous-bridge" but kubenet is not enabled, falling back to "hairpin-veth"  
Feb 26 19:57:10 minikube kubelet[3066]: I0226 19:57:10.124295    3066 docker_service.go:236] Hairpin mode set to "hairpin-veth" 
故障排除指南表明“hairpin veth”正常

请注意,指南使用了
/sys/devices/virtual/net/cbr0/brif/*
,但在此版本的minikube中,路径是
/sys/devices/virtual/net/docker0/brif/veth*
。我想了解为什么路径不同,但似乎没有启用hairpin_模式

指南中的下一步是:
如果以上任何一项都不起作用,请寻求帮助。

  • 我是否正确地认为我需要启用夏萍模式
  • 如果是,我该如何做

  • 这似乎是已知问题,更多信息:

    作为解决方法,您可以尝试:

    minikube ssh -- sudo ip link set docker0 promisc on
    

    请与reulsts分享。

    这似乎是已知问题,更多信息:

    作为解决方法,您可以尝试:

    minikube ssh -- sudo ip link set docker0 promisc on
    

    请与reulsts分享。

    在您的服务中将externalTrafficPolicy设置为local可能有效:但我不确定它是否适用于minikube。在您的服务中将externalTrafficPolicy设置为local可能有效:但我不确定它是否适用于minikube。