Кластер Kubernetes в публичной и приватной топологии

Я пытаюсь настроить кластер kubernetes в aws, используя Kops. Но у меня есть требование, например, развернуть главные узлы в общедоступной подсети, а некоторые рабочие — в общедоступной, а некоторые — в частной подсети.

Мне нужна сеть, как показано ниже: введите здесь описание изображения

Итак, можно ли создать эту сеть с помощью kops?


person Naveen Kerati    schedule 21.11.2018    source источник
comment
какой сценарий вы пытаетесь реализовать?   -  person Ohmen    schedule 22.11.2018
comment
@Ohmen У меня есть внешние приложения, которые должны быть доступны через общедоступные сети, и приложения, которые должны работать как задания в частных подсетях.   -  person Naveen Kerati    schedule 22.11.2018
comment
Спасибо, что спросили об этом! Так сложно найти ответ на этот вопрос в Интернете.   -  person roim    schedule 27.02.2021


Ответы (1)


Узлы Kubernetes никогда не должны быть напрямую подключены к Интернету.

Я предполагаю, что вы хотите предоставлять услуги через NodePort, что в целом является плохой идеей. Поскольку служба NodePort предоставляется на ВСЕХ узлах, а не только на тех, на которых работают модули.

Вы должны разместить все узлы и мастера в частных подсетях и управлять внешним доступом с помощью эластичных балансировщиков нагрузки и вход. Таким образом, вы можете явно предоставлять интерфейсные службы в Интернете.

Соответствующий фрагмент kops-spec.yaml будет выглядеть так:

topology:
  dns:
    type: Public
  masters: private
  nodes: private
person Ohmen    schedule 22.11.2018
comment
Не за что. Пожалуйста, примите ответ, если он решил вашу проблему - person Ohmen; 23.11.2018
comment
Я знаю, что это немного устарело, но у меня есть один вопрос (будучи новичком). Поскольку все узлы k8s должны находиться в частной подсети, как вход будет доступен через Интернет? У меня сложилось впечатление, что вход также будет установлен на одном из узлов k8s, тогда как он будет доступен снаружи? или вы хотите сказать, что настроили ELB, который подключается к входу (работает в частной подсети) - person NumeroUno; 18.12.2019
comment
да, вы бы настроили службу входа типа LoadBalancer. Это вызовет создание ELB, указывающего на NodePorts, перенаправляющие на ваши входящие модули. - person Ohmen; 19.12.2019