локальный кластер кубернетов в частной подсети

Я хотел бы запустить кластер Kubernetes с 1 главным и 2 рабочими узлами, все 3 в разных отдельных частных подсетях в нашем локальном центре обработки данных. Какова была бы наилучшая стратегия для реализации кластера кубернетов, при этом открывая интерфейсное приложение для общедоступной сети, реализуя хорошую безопасность кубернетов?


person AlwaysALearner    schedule 14.08.2018    source источник


Ответы (2)


В облаке мой ответ будет другим! Насколько я понимаю, טםו не собираются масштабировать ваши узлы, поэтому мой ответ основан на этом.

  1. Создайте все свои сервисы в кластере K8S (не выставляйте ни один из них).

  2. Создайте Nginx или любой балансировщик нагрузки, который вы предпочитаете в качестве виртуальной машины (если вы можете создать 2 виртуальные машины для высокой доступности).

  3. Направьте Nginx во внешний интерфейс (пожалуйста, используйте входной контроллер, который не раскрывает)

Теперь по поводу безопасности:

  1. Добавьте WAF в свой балансировщик нагрузки.

  2. Контроль разрешенного процесса в каждом типе контейнера (для этого используйте Falco).

  3. Создайте сетевую политику, определяющую, какой службе разрешено взаимодействовать с какой службой, или я настоятельно рекомендую использовать Istio.

  4. Создайте сертификат для БД, и только модули, содержащие сертификат, смогут общаться с ним.

Удачи.

person Oron Golan    schedule 14.08.2018
comment
Привет, @Oron Golan! Большое спасибо за быстрый ответ и ценную информацию. Просто чтобы прояснить, какие узлы я должен включить в список Nginx Loadbalancer? Должен ли я добавить только главный узел или просто добавить все основные и рабочие узлы в список балансировщика нагрузки nginx? Кроме того, просто для подтверждения, нужен ли мне публичный IP-адрес для любого узла? - person AlwaysALearner; 14.08.2018

  • создать кластер Kubernetes в частной сети
  • создать внешний балансировщик нагрузки в отдельной сети, который будет выставлять трафик извне
  • укажите свой DNS на общедоступный IP-адрес внешнего балансировщика нагрузки
  • Откройте для себя сервисы Kubernetes от внешнего балансировщика нагрузки
  • в большинстве случаев вам просто нужна служба Kubernetes типа nodeport, с которой будет разговаривать внешний балансировщик нагрузки
  • если вашим приложениям требуется постоянство сеанса, настройте службу k8s для обслуживания только с локального узла
person Ijaz Ahmad Khan    schedule 10.01.2019