Как выставить сервис в кубернетес, работающий на Баремател - PullRequest
0 голосов
/ 28 ноября 2018

Kubernetes Версия: 1.10 Работает на Barematel

Нет.из мастеров: 3

Мы используем несколько микросервисов в кластере Kubernetes.В настоящее время мы предоставляем эти сервисы вне кластера, используя NodePort.Каждый микросервис имеет свой собственный NodePort, поэтому мы должны вести список с соответствующими микросервисами.Так как мы работаем на Barematel, у нас нет таких функций, как LodeBalancer, при предоставлении микросервиса.

Проблема: - Поскольку у нас в кластере несколько мастеров и рабочих, мы должны использовать статический IP или DNS для любого мастера одновременно.Если я хочу получить доступ к какой-либо службе вне кластера, я должен использовать как - IP_ADDRESS:NODEPORT или DNS:NODEPORT.За один раз я могу использовать адрес любого мастера.Если этот мастер переодевается, мне нужно сменить адрес микросервиса на адрес другого мастера.Я не хочу использовать статический IP или DNS любого мастера.

Каким образом мы могли бы лучше представить эти микросервисы без NodePort?Есть ли какая-либо функция, как LoadBalancer поверх Baremetal?INGRESS или Nginx могут нам помочь?

1 Ответ

0 голосов
/ 28 ноября 2018

Для Baremetal есть LoadBalancer, он называется METALLB .Проект доступен на GitHub , к сожалению, это решение находится в альфа-состоянии и является более сложным.

Вы также можете следовать инструкциям NGINX и настроить метод циклического переборадля TCP или UDP.

Ingress поддерживает только http (s) через порты 80, 443 только.Конечно, вы можете настроить свой собственный входной контроллер, но это потребует много дополнительной работы.

NodePort Недостатком является ограниченное количество используемых портов, которое составляет от 30000 до 32767, и если изменяется IP-адрес компьютера.Ваши услуги будут недоступны.

...