Есть ли способ назначить статический IP-адрес кластеру Kubernetes, в котором любой пользователь может получить доступ к своему приложению только по статическому IP.
для примера, я настроил кластер на 192.168.0.131 (главный), 192.168.0.132 (рабочий1) и 192.168.0.133 (рабочий 2). Одно приложение dotnet работает на nodeport 32000, который, как и ожидалось, доступен для всего кластера.
Теперь мне нужно назначить один IP-адрес для связи с этим кластером, и пользователь сможет получить к нему доступ. Также есть ли способ, которым мы можем использовать этот IP-адрес для других приложений, которые можно дифференцировать на основе разных портов, а не nodeport.
К вашему сведению, я использую кластер Kubernetes поверх «голого металла».
Чтобы повторно использовать один IP-адрес для нескольких проектов, пока мы говорим о HTTP, я предлагаю вам использовать Ingress и развернуть IngressController, такой как nginx-ingess, traefik или аналогичный. Таким образом, любой http-трафик будет обслуживаться через один http IP/порт с использованием виртуальных хостов, управляемых IngressController.
Остается проблема предоставления услуги на основе NodePort через один IP-адрес. Для локальной сети я бы, вероятно, запустил что-то вроде HA Proxy на известном IP-адресе (возможно, на главном узле) и использовал его для направления трафика на службу nodePort входного контроллера или настроил для этого какой-нибудь балансировщик нагрузки/маршрутизатор, который есть в вашей сети. В качестве альтернативы вы можете запустить вход непосредственно на главном узле с помощью nodePort или hostNetwork: true