Как получить доступ к главному HTTP-серверу в kubernetes

#kubernetes #kubectl #kubernetes-ingress #kubeadm

#kubernetes #kubectl #kubernetes-вход #kubeadm

Вопрос:

Если http-сервер запущен в хост-системе, а http-клиент хочет работать внутри pod. Возможно ли подключиться к серверу хост-системы, используя IP-адрес хоста.Служба NodePort применима для подключения к хост-http-серверу?

Комментарии:

1. Вы пытались подключиться, используя IP-адрес хоста? Сработало это или нет?

2. IP-адрес хоста внутри модуля? Потому что мне нужно запустить сервер в хост-системе. с IP-адресом хоста я пробовал внутри pod. но он не может привязываться. я запускаю клиент внутри

3. Здравствуйте. Правильно ли я понимаю, что вы хотите подключиться из своего модуля (клиента) к приложению (серверу), расположенному на том же хосте? Это приложение работает непосредственно на хосте или в модуле? Не могли бы вы показать, что вы пробовали? NodePort сервис будет использоваться, если вы хотите подключиться к своим модулям , а не к приложению, развернутому непосредственно на вашем хосте.

Ответ №1:

Убедитесь, что хост прослушивает все интерфейсы, а не только localhost . Попробуйте подключиться к сервису с другого компьютера, чтобы сначала протестировать, а не pod. С точки зрения сети, это две отдельные машины. Смотрите следующий пример:

Тест из OSX:

 $ HOST_IP=$(ifconfig | grep en0 -A 5 | grep 'inet ' | cut -d' ' -f2)
$ brew install nginx
$ nginx
$ curl -I $HOST_IP:8080 2>/dev/null | head -n 1
HTTP/1.1 200 OK

$ docker run -ti --rm centos curl -I $HOST_IP:8080 2>/dev/null | head -n 1
HTTP/1.1 200 OK