Как получить доступ к IP-адресу пода извне

Я новичок в k8s.

Я знаю, что IP-адрес модуля установлен в диапазоне --cluster-cidr. например. 10.244.0.0/18

Мой вопрос в том, как получить доступ к IP-адресу модуля извне кластера k8s.

Я слышал о 2 способах сделать это:

    1. Make Docker bridge use a self defined Linux bridge, some tricks in /etc/docker/daemon.json, then add route records at the router device by ip route add 10.244.0.0/18 via {k8sNodeIp}(or something like that, I dont know details).
    1. Similar to the upper one, but they seems accomplish that without the "bridge tricks", just add some route records(tell me if I'm wrong).

Эти решения созданы двумя разными командами.

Я не знаю, был ли задействован сетевой плагин k8s, первый использует flannel, а последний - calico.

Есть какие-нибудь документы по этому поводу?


person Li Hao Su    schedule 21.07.2020    source источник
comment
почему бы не использовать Kubernetes Service типа NodePort?   -  person Arghya Sadhu    schedule 21.07.2020
comment
Рекомендуемый способ доступа к модулю - через службы. Использование IP непросто в управлении и масштабировании. Если вам не нужно учитывать масштабируемость, возможно, вам не нужен k8s.   -  person Ken Chen    schedule 21.07.2020
comment
@ArghyaSadhu Эти решения не предназначены для производственного использования, они предназначены только для некоторой отладки или разработки удобства. Я не могу найти никаких документов по этому поводу.   -  person Li Hao Su    schedule 21.07.2020


Ответы (1)


Отвечать

Вы можете использовать kubectl port-forward для прямой связи с контейнерами в модулях для целей отладки / разработки.

E.g. kubectl port-forward mypod 5000:6000

См. Документы здесь

Больше информации

Эта команда настроит прокси на вашей рабочей станции, чтобы вы могли, например, запускать:

curl localhost:5000/api/v1/status

Этот запрос будет перенаправлен на сервер API, который затем перенаправит ваш запрос на модуль, указанный в команде port-forward.

person Serge    schedule 21.07.2020
comment
Извините, это не то, что я хочу. Я установил сервер OpenVPN на одном из пограничных узлов k8s, а затем с клиентом vpn на моем рабочем столе Windows для подключения к сети k8s. У меня это работает. - person Li Hao Su; 22.07.2020
comment
Ага, я ответил только на это My question is how to access the pod IP from outside the k8s cluster. - person Serge; 22.07.2020