Предоставление службы Kubernetes в чистом кластере через архитектуру внешней сети - PullRequest
1 голос
/ 04 мая 2020

Я построил многоузловой многосерверный кластер Kubernetes с нулями, и это мой первый опыт.

  • Кластер построен на многих серверах; каждый сервер содержит набор узлов.

  • Соединение выполняется через публичные c IP-адреса в локальной сети.

  • Я запускаю развертывания на кластере и работает .

Но я хочу предоставить службу через внешнюю сеть.

Если бы я использовал Minikube, я бы использовал LoadBalancer для внешнего доступа к службе.

Устранение неполадок:

  1. Я думаю об использовании ингресс-контроллера или службы NodePort в качестве решения для доступа к сети pods.
  2. I попытался открыть сервис NodePort, но я не получил внешний ip.

Я спрашиваю, может ли кто-нибудь помочь мне установить работающий hello-world, но выбираю правильную архитектуру для этого металлический кластер.

Спасибо.

1 Ответ

1 голос
/ 04 мая 2020

Я предлагаю использовать MetalLB , который является LoadBalancer для кластеров из чистого металла.

Кроме того, вы можете комбинировать это с контроллером Ingress из чистого металла, например Nginx.

Что касается Nginx, вы можете найти более подробную информацию здесь .

Я успешно использовал эту комбинацию, а также с подстановочным доменом (например, * .mydomain), указывающим на один из IP-адресов кластера. Это позволяет определить столько комбинаций, сколько вы хотите указать на различные службы, развернутые в кластере (например, service1.mydomain, service2.mydomain и т. Д. c.).

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

...