Получить «Внешний IP» для пакетов в Bare Metal / On Prem Kubernetes - PullRequest
0 голосов
/ 28 января 2020

Я хочу выставить модули с внешними IPB c (без использования опции NodePort). Пожалуйста, дайте мне знать, как это сделать (подробно) в Bare Metal Kubernetes (без использования облачного провайдера). Я пробовал MetalLB, но безуспешно, поскольку диапазоны IP-адресов отличаются от моих узлов.

Моя конфигурация выглядит следующим образом

 apiVersion: v1
 kind: ConfigMap
 metadata:
   namespace: metallb-system        
   name: config
 data:
   config: |
     address-pools:
     - name: default
       protocol: layer2
       addresses:
       - 192.249.6.75-192.249.6.79


kubectl get pods -o wide --all-namespaces

<output omitted>
metallb-system         controller-65895b47d4-cbnpd                                  1/1     Running            1          26d   192.168.182.12    worker3   <none>           <none>
metallb-system         speaker-6zfw8                                                1/1     Running            1          26d   192.168.56.102    worker1   <none>           <none>
metallb-system         speaker-76hvg                                                1/1     Running            1          26d   192.168.56.103    worker2   <none>           <none>
metallb-system         speaker-qkpwb                                                1/1     Running            2          26d   192.168.56.101    master    <none>           <none>
metallb-system         speaker-qqhng                                                1/1     Running            1          26d   192.168.56.104    worker3   <none>           <none>

Узел su bnet CIDR равен 192.168.0.0/16.

Спасибо.

1 Ответ

0 голосов
/ 06 февраля 2020

вы можете настроить диапазоны IP-адресов для metalLB в его конфигурации: см. раздел конфигурации

, однако обратите внимание, что службы типа LoadBalancer всегда должны иметь IP-адреса, отличные от узлов независимо от того, какую реализацию внешнего LB вы используете. в противном случае локально открытые порты на узлах будут конфликтовать с сервисным портом.

update

при использовании metalLB в режиме L2 пул адресов должен находиться в пределах CIDR (V ) Локальная сеть, в которой расположены узлы, иначе ARP не будет работать. измените вашу конфигурацию metalLB, например, на 192.168.100.10-192.168.100.20 (убедитесь, что она не соответствует sh с любыми существующими машинами в вашей сети, и в идеальном случае перенастройте dhcp, чтобы его пул для новых машин не совпадал с sh metalLB)

...