как настроить контроллер входящего трафика в кластере Kubernetes поверх голой железной системы?

Есть ли способ назначить статический IP-адрес кластеру Kubernetes, в котором любой пользователь может получить доступ к своему приложению только по статическому IP.

для примера, я настроил кластер на 192.168.0.131 (главный), 192.168.0.132 (рабочий1) и 192.168.0.133 (рабочий 2). Одно приложение dotnet работает на nodeport 32000, который, как и ожидалось, доступен для всего кластера.

Теперь мне нужно назначить один IP-адрес для связи с этим кластером, и пользователь сможет получить к нему доступ. Также есть ли способ, которым мы можем использовать этот IP-адрес для других приложений, которые можно дифференцировать на основе разных портов, а не nodeport.

К вашему сведению, я использую кластер Kubernetes поверх «голого металла».

1
задан 27 August 2021 в 04:33
1 ответ

Чтобы повторно использовать один IP-адрес для нескольких проектов, пока мы говорим о HTTP, я предлагаю вам использовать Ingress и развернуть IngressController, такой как nginx-ingess, traefik или аналогичный. Таким образом, любой http-трафик будет обслуживаться через один http IP/порт с использованием виртуальных хостов, управляемых IngressController.

Остается проблема предоставления услуги на основе NodePort через один IP-адрес. Для локальной сети я бы, вероятно, запустил что-то вроде HA Proxy на известном IP-адресе (возможно, на главном узле) и использовал его для направления трафика на службу nodePort входного контроллера или настроил для этого какой-нибудь балансировщик нагрузки/маршрутизатор, который есть в вашей сети. В качестве альтернативы вы можете запустить вход непосредственно на главном узле с помощью nodePort или hostNetwork: true

0
ответ дан 27 August 2021 в 10:50

Теги

Похожие вопросы