Kubernetes: привязать физический сетевой интерфейс

Можно ли привязать модуль или контейнер Kubernetes к физическому сетевому интерфейсу хоста, чтобы весь трафик, поступающий на интерфейс, отправлялся на модуль (а не только HTTP-трафик на определенном порту)?

В частности, я хочу запустить VPN-клиент как модуль в Kubernetes и привязать его к сетевому интерфейсу. Весь трафик, поступающий на интерфейс, должен проходить через pod через VPN.

Я нашел кое-что о сетевых плагинах в K8s, но это, кажется, что-то еще.


person CGFoX    schedule 23.09.2019    source источник


Ответы (2)


Если я правильно понял ваш вопрос, вы можете это сделать. Я открываю приложение amqp, просто открывая порт amqp моего приложения через службу NodePort. Что вам нужно сделать, так это определить новую службу, которая почти точно является службой, которую вы используете для внутреннего взаимодействия, но используйте LoadBalancer или NodePort в качестве типа службы.

person AVarf    schedule 23.09.2019
comment
Не уверен, что правильно понял ваш ответ. Но разве NodePort (или LoadBalancer) не выставит на всеобщее обозрение несколько портов? Я хочу передать весь входящий трафик на сетевой интерфейс (а не только на определенный порт). Не уверен, что я смешиваю вещи здесь. - person CGFoX; 26.09.2019

Я думаю, что это может решить вашу проблему https://github.com/intel/multus-cni. Это позволяет вам иметь несколько сетевых интерфейсов внутри модуля.

person Jorge    schedule 27.08.2020