Здесь я пытаюсь создать кластер k8s, но рабочие и главные узлы находятся в разных облаках.
Например, у меня есть экземпляр ВМ в AWS и еще один в GCP.
Я не могу использовать их в качестве главного и рабочего узла, поскольку они не находятся в одном сетевом диапазоне.

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

Я не хочу использовать IP-Sec или DRG, которые не являются частью уровня бесплатного пользования, для достижения этой цели.

1
Always a newComer 29 Апр 2020 в 23:10

1 ответ

Ряд подключаемых модулей Kubernetes Container Network Interface (CNI) поддерживают оверлейные сети. Оверлейная сеть создает туннели в реальной сети для узлов k8s для связи между физическими подсетями через то, что выглядит как локальный интерфейс.

  • Flannel использует VXLAN (UDP)
  • Calico использует IPIP или VXLAN

Существует ряд проблем, которые необходимо решить с помощью географически рассредоточенного кластера.

  • Как вы планируете свое приложение в кластере соответствующим образом.
  • Как ноды взаимодействуют с мастерами.
  • Как устроен ваш кластер etcd.

Распространенным решением этих проблем является запуск нескольких кластеров в каждом географическом местоположении и управление ими трафиком.

0
Matt 30 Апр 2020 в 00:29
В настоящее время я использую calico, и, как вы предложили, он создает туннель в реальной сети. Мой вопрос заключается в том, может ли эта реальная сеть быть сетью VPN, в которой я создаю главные и рабочие узлы. Кроме того, что касается планирования и других проблем, если я могу разместить кластер k8s, то мастер k8s развернет приложение/модули на рабочих узлах. Например, мы можем предположить, что с помощью kubeadm я размещаю плоскость управления на 1 машине, на которой есть etcd и все контроллеры.
 – 
Always a newComer
30 Апр 2020 в 11:53
1
Да, сеть есть сеть. Пока исходный и целевой IP-адрес туннеля маршрутизируется через VPN. Вы будете туннелировать внутри туннеля, поэтому не используйте TCP для VPN и ожидайте кучу проблем с MTU. Но в качестве тестового стенда с узлами с одной стороны и мастером с другой все должно быть в порядке. Узлам не нужно идеальное подключение к мастерам, они могут выжить без них и по-прежнему обслуживать свои приложения.
 – 
Matt
30 Апр 2020 в 12:33
Если это чисто затратное упражнение, то, возможно, попробуйте AKS. Они дают вам контрольный самолет бесплатно.
 – 
Matt
30 Апр 2020 в 12:33