IP-адрес Kubernetes pods должен быть доступен или доступен для пинга из внешней сети - кроме главного и рабочего - PullRequest
0 голосов
/ 09 апреля 2019

Я создал развертывание с NodePort. Pod создан, и у него есть IP. В капсуле работает только один контейнер. Я хочу получить доступ к этому контейнеру / IP-адресу от внешнего устройства, кроме Master или узла. Теперь я могу пропинговать IP-адрес модуля с главного устройства и узла, но не с моего устройства. Контейнер / контейнер должен быть проверен с моего устройства. Я могу пропинговать свое устройство из моего контейнера / контейнера.

Что необходимо сделать, чтобы IP-адрес модуля был виден / доступен снаружи?

Ответы [ 3 ]

1 голос
/ 09 апреля 2019

На узле нужно указывать порт службы (типа NodePort), а не IP-адрес модуля.

kubectl get service <my-service>

Проверьте, какой порт вы получили.Затем получите IP-адрес любого узла кластера k8s

kubectl get nodes

и получите его как

telnet <node_ip>:<service_port>

Подробнее о типах услуг: https://kubernetes.io/docs/concepts/services-networking/service/

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

Я согласен с выводами @Max Lobur и @ Мартин Петков о том, что использование сервисов Kubernetes NodePort позволяет проксировать основной порт сервиса Pod на некоторый порт из пула на соответствующем узле, поэтому вы может быть в состоянии связаться с Kubernetes Pod вне кластера по IP-адресу узла и соответствующему порту прокси.

В качестве альтернативы, вы можете установить связь с целевым Pod Kubernetes, применив Внешний IP в конкретной службе для передачи сетевого трафика на соответствующий узел, однако это довольно весомое решение, так как для этого требуются некоторые маршруты. реализован на внешнем IP для перенаправления сетевого трафика на вложенный узел Kubernetes.

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

Если вы хотите получить доступ к вашему модулю, вы должны сделать это следующим образом: $ {node-ip}: $ {nodeport}. Однако, если вы не можете получить доступ к вашему модулю через его clusterIP, он служит только для связи внутри кластера. Вы можетеполучить внешний IP-адрес, изменив службу на LoadBalancer, но этот IP-адрес получает облачный провайдер.

...