Межкластерная связь в Куберне - PullRequest
0 голосов
/ 03 февраля 2020

У меня есть два кластера kubernetes, работающих внутри AWS EKS . Как их соединить, чтобы оба могли обмениваться данными и обмениваться данными?

На одном кластере работают только приложения без сохранения состояния, а на другом с состоянием, например Redis DB , RabbitMQ et c.

Какой самый простой способ настройки связи?

Ответы [ 2 ]

3 голосов
/ 03 февраля 2020

Если у вас есть указанный c кластер для запуска БД и других частных рабочих нагрузок с отслеживанием состояния, убедитесь, что ваши рабочие узлы для этого кластера EKS являются частными.

Следующим шагом будет создание ресурса службы для предоставления вашей БД Redis внутренней конечной точки. Вы можете достичь этого, указав следующее:

annotations:
    service.beta.kubernetes.io/aws-load-balancer-internal: "true"

С учетом вышеизложенного вы получите рабочие нагрузки всего кластера и состояния с использованием внутренних конечных точек. Как только это будет сделано, у вас есть два варианта подключения ваших VPC.

  1. VP C пиринг, чтобы позволить одному кластеру соединиться с другим.
  2. Транзитный шлюз, который будет использовать два VPC использовать для общения в частном порядке.
0 голосов
/ 03 февраля 2020

Я буду следовать предложенному @marcincuber подходу к использованию внутреннего балансировщика нагрузки.

Однако я также нашел обходной путь, выставив тип сервиса Redis, RabbitMQ как LoadBalancer.

Поскольку оба моих кластера в одном и том же VP C существуют нет необходимости в пиринге VP C или какой-либо настройке шлюза, я думаю ограничить трафик c с помощью службы по умолчанию Kubernetes loadBalancerSourceRanges.

...