сервис kubernetes не может отправить запрос самому себе - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть служба, которая в некоторых случаях отправляет запросы сама себе.Я могу получить доступ к службе из-за пределов кластера, но сам запрос не выполняется (время ожидания).

Среда:

  • minikube v0.34.1
  • Linuxверсия 4.15.0 (jenkins @ jenkins) (gcc версия 7.3.0 (Buildroot 2018.05)) # 1 SMP пт 15 февраля 19:27:06 UTC 2019

Я использую https://kubernetes.io/docs/tasks/debug-application-cluster/debug-service/#a-pod-cannot-reach-itself-via-service-ip в качестве руководства по поиску и устранению неисправностей, но я не отвечаю на шаг, который гласит «обратиться за помощью».

Результаты поиска и устранения неисправностей:

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" 

В руководстве по устранению неисправностей указано, что «шпилька-вета»все в порядке.

for intf in /sys/devices/virtual/net/docker0/brif/veth*; do cat $intf/hairpin_mode; done
0
...
0

Обратите внимание, что руководство использовало /sys/devices/virtual/net/cbr0/brif/*, но в этой версии minikube путь - /sys/devices/virtual/net/docker0/brif/veth*.Я хотел бы понять, почему пути разные, но похоже, что hairpin_mode не включен.

Следующий шаг в руководстве: Seek help if none of above works out.

  1. Я прав?верить, что мне нужно включить hairpin_mode?
  2. Если так, как мне это сделать?

1 Ответ

0 голосов
/ 19 апреля 2019

Это похоже на известную проблему, дополнительная информация здесь :

В качестве обходного пути вы можете попробовать:

minikube ssh -- sudo ip link set docker0 promisc on

Пожалуйста, поделитесь с результатами.

...