Служба NodePort недоступна из веб-приложения внутри кластера Minikube, но извне - PullRequest
0 голосов
/ 31 мая 2019

Я установил среду kubernetes эластичного поиска (v. 7.0.1) с развертыванием и службой, использующими тип NodePort, работающий на мини-кубе.Когда я нажимаю kubectl get services, я получаю соответствующую строку:

elasticsearch                NodePort    10.101.5.85      <none>        9200:31066/TCP               27m

Если я делаю

$curl http://$(minikube ip):31066

, я получаю обычную страницу эластичного поиска.Однако, если я

root@webapp-5489d8d6fd-2ml2w:/# curl http://localhost:9200

являюсь корневым пользователем веб-приложения в том же кластере, я получаю сообщение об ошибке:

curl: (7) Failed to connect to localhost port 9200: Connection refused

Может кто-нибудь намекнуть на причину моей проблемы?

1 Ответ

0 голосов
/ 06 июня 2019

Прежде всего, ваш сервисasticsearch имеет тип NodePort с портами 9200:31066/TCP.Это означает, чтоasticsearch использует порт 9200, а NodePort использует 31066 порт.

1) curl http://$(minikube ip): 31066

MinikubeIP - это ваш узел ip.Вы можете проверить это, используя $ kubectl describe node Так что если вы используете port 31066, он подключается правильно.

2) curl http://localhost:9200

Вы не предоставили никакой информациио других развертываниях или модулях, поэтому я предполагаю, что у вас есть развертывание Elasticsearch с модулем pod.

Если вы выполните $ curl http://localhost:9200 в контейнере эластичного поиска, оно будет работать, потому что эластичный поиск выполняется внутри (локально) этого контейнера.

Если вы хотите свернуться от другого (не эластичного модуля), вы должны использовать сервис, который вы создали с помощью эластичного порта поиска.$ curl elasticsearch:9200 или $ curl 10.101.5.85:9200

Из других контейнеров вы также можете свернуться, используя NodeIP с NodePort$ curl $(minikube ip):31066 То же, что и в пункте 1.

Полезные ссылки: https://gardener.cloud/050-tutorials/content/howto/service-access/

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...