На предпосылке: не могу понять, как работает внешний ips

У нас есть предварительно настроенный кластер kubernetes с 1 мастером и 2 рабочими, а также с ситцевыми сетями. Проблема в том, что наше приложение не открывается из внешнего мира.

Я могу свернуть внешний IP из моего кластера K8S, но не могу открыть его из браузера.

Диапазон IP-адресов главных и рабочих узлов отличается от пула адресов конфигурации карты -

Главный / рабочий узел -> abcd

Metallb config.yaml ->

apiVersion: v1
kind: ConfigMap
metadata:
namespace: metallb-system
name: config
data:
config: |
address-pools:
- name: default
protocol: layer2
addresses:
- w.x.y.z

Я хочу знать, должен ли диапазон адресов в metallb config.yaml быть таким же, как кластерная сеть? Потому что когда я даю кластеру kubernetes диапазон IP-адресов, приложение открывается извне, в противном случае нет.

1 ответ

Чтобы использовать MetalLB, диапазон назначенных IP-адресов должен быть доступен из вашей кластерной сети. Например, если ваш кластерный IP-адрес 192.168.1.0 /24, вы можете назначить IP-адреса в диапазоне 192.168.1.1 - 192.168.1.254.

Так что если вы укажете в ConfigMap

...
addresses:
      - 192.168.1.1-192.168.1.254

это будет работать.

Однако, если вы установите IP-адрес кластера, например, 192.168.1.0/28, вы сможете использовать адреса только из диапазона 192.168.1.1-192.168.1.14.

Пожалуйста, помните, что настройка сети и правильный ConfigMap - это еще не все. Вы должны создать сервис (loadbalancer), который представит ваш кластер миру.

Пожалуйста, проверьте это руководство MetalLB. Он содержит пример правильного набора MetalLB.

В режиме уровня 2 диапазон IP-адресов, который вы даете Metallb, должен находиться в пределах сетевого диапазона узла кластера. Вам нужен IP-пакет, исходящий от внешнего по отношению к кластеру, чтобы сначала достичь подсети кластера. Затем конечная точка (вероятно, маршрутизатор, соединяющий подсеть кластера с внешней сетью), получивший трафик, предназначенный для виртуального IP-адреса, назначенного Metallb, может выполнить запрос ARP, чтобы выяснить MAC-адрес интерфейса на узле, который в настоящее время владеет виртуальным IP. Вот как маршрутизируется внешний пакет.

Другие вопросы по тегам