Открыть порт 22 внешнего балансировщика нагрузки GKE k8s без раскрытия кластера

У нас есть модуль, который действует как SFTP-сервер и должен быть доступен через порт 22. Это должен быть порт 22, чтобы обеспечить беспрепятственный переход от нашей старой инфраструктуры. Этот модуль должен быть доступен извне и доступен из любого (например, 0.0.0.0/0 ). Порт 22 заблокирован в наших сетях GCP, за исключением определенных виртуальных машин для соответствия требованиям, и этот блок охватывает наши узлы k8s.

Три решения, которые мы придумали, ни одно из которых мы не хотим реализовать, были:

  • Использование кластера в качестве целевого тега выставить весь кластер (слишком рискованно / соответствие требованиям)
  • Ограничить модуль одним узлом и предоставить только этот узел (без избыточности)
  • Создать новый пул узлов специально для этой службы и раскрыть только этот пул узлов (имеет избыточность, но дорогостоящий)

Есть ли способ, который я не перечислил выше, с помощью которого мы можем раскрыть этот модуль / балансировщик нагрузки, не открывая другие части сети?

0
задан 23 November 2018 в 14:17
1 ответ

Когда вы открываете свой модуль или развертывание, вы делаете это с помощью службы . Для вашего варианта использования вы захотите использовать тип службы LoadBalancer, который создаст внешнюю конечную точку (внешний IP-адрес) и соответствующий балансировщик сетевой нагрузки GCE. Затем трафик будет перенаправлен от балансировщика нагрузки на порт узла (в диапазоне 30000), который затем будет перенаправлять трафик на целевой порт, которым в вашем случае является порт 22.

Это означает, что модуль подвергается воздействию порт 22, но узел GKE (GCE VM) предоставляет порт 30xxx. GKE создаст для вас соответствующее правило брандмауэра.

Кроме того, если вас беспокоит безопасность, вы также можете фильтровать трафик на основе диапазонов источников

0
ответ дан 5 December 2019 в 05:02

Теги

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