# #kubernetes #google-cloud-platform #google-kubernetes-engine #load-balancing #kubernetes-service
Вопрос:
У меня есть тестовый кластер в GKE с несколькими приложениями. Некоторые из них должны быть доступны на одном ip-адресе и в качестве услуги type: LoadBalancer
.
Я зарезервировал статический внешний адрес и использовал его в yamls своих сервисов как loadBalancerIP
. Но все в порядке, кроме одной услуги. Это ftp — сервер с портами 20-21
и 30000-30005
для пассивного режима. GKE автоматически настраивает балансировщики нагрузки для служб с диапазоном портов от самого низкого до самого большого для каждой службы. Таким образом, очевидно, что он перекрывает любую другую службу моего кластера с диапазоном портов 20-30005
, и этот внешний ip-адрес службы находится в состоянии ожидания.
Есть ли какое-либо решение этой проблемы? Мои мысли приводят меня к использованию externalIPs
поля с созданным вручную балансировщиком нагрузки с правилами пересылки и целями в консоли сетевых служб gcp. Или оба loadbalancerIP
и externalIPs
с одним и тем же ip-адресом, но я в этом не уверен. Правильно ли это будет работать? Есть ли другие решения?
Комментарии:
1. Здравствуйте, правильно ли я понимаю, что у вас есть
X
количествоService
типаLoadBalancer
, куда вы поместили это имяloadBalancerIP
?2. Привет, @DawidKruk . Да, это верно 🙂 Я просто исследую k8s. Это плохая практика? Я предполагаю, что подобные ситуации редко или почти никогда не должны возникать на производстве.
3. Я бы предпочел избегать создания настроек, в которых вы назначаете один IP-адрес множеству
Service
типовLoadBalancer
GKE
ввода . Также вы думали об использовании другого решения для FTP? FTP небезопасен, поэтому ваши учетные данные будут переданы через Интернет в виде обычного текста. Чтобы решить эту проблему, вы можете переключиться на sFTP/SCP или некоторые управляемые решения на стороне GCP, если хотите уменьшить административные издержки.
Ответ №1:
Перепробовав почти все, я только что понял, что с таким поведением реализации GKE LB я на самом деле могу создать две службы, первую для диапазона портов активного режима, вторую для пассивного. С переключателем на приложение ftps. Звучит не идеально, но это единственное правильно работающее решение, которое я нашел до сих пор.