Как объединиться в сеть к Kubernetes позади МААСА

У меня есть маршрутизатор с МААСОМ позади него и Kubernete позади контроллера МААСА (он имеет 2 NICs---один соединенный Kubernete и один соединенный к маршрутизатору). Я пытаюсь соединиться с контейнером в Kubernete с IP-адресом 10.12.0.2 от другого компьютера на маршрутизаторе. Однако я не могу соединиться.

Контроллер МААСА имеет IP-адрес 10.11.0.2, и я могу соединиться с этим очень хорошо. Однако 10.12.0.0 сети не выставляются маршрутизатору. Как я могу соединиться с кластером Kubernetes от компьютера, подключенного к маршрутизатору? Существует ли автоматизированный способ, которым я могу сделать это, не имея необходимость вручную соединять дюйм/с мостом в МААСЕ для каждого нового контейнера? Кроме того, я могу сделать это способом, которое оказывает минимальное влияние к безопасности, которую, имея промежуток узла МААСА обеспечивают кластер Kubernetes и маршрутизатор?

1
задан 2 March 2020 в 06:44

1 ответ

Первыми вещами сначала... является тот контейнерный IP, 10.12.0.2, a ClusterIP? Раз так это может объяснить много проблем, которые Вы имеете. Я записал следующее с главным предположением..., что это - внутренний, невыставленный IP, Вы входите в контейнер в переходной приставке. Одна вещь, которую можно попробовать, если Вы уже не имеете... Попытайтесь получить доступ к тому контейнерному IP 10.12.0.2 от поля МААСА. Не может получить доступ к нему? Я держал пари, что это должно быть выставлено...


Я не попробовал точную установку, которую Вы имеете. Я думаю, что я записал ниже, может не полностью применяться, потому что Ваша установка пробегает Ваш сервер МААСА, который усложняет вещи.

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

То, что я описываю ниже, является самой простой и лучшей установкой, которую я имею в этой точке, которая обладает преимуществом обеспечения статического IP для того сервиса. Можно затем использовать настройки DNS в МААСЕ (или независимо от того, что Вы предпочитаете для DNS) сделать A запись, которая указывает на тот IP для того сервиса.

Для создания это менее абстрактное и срываемое жаргоном вот является конкретным примером... Вы могли бы:

  • разверните Rook/Ceph (rook.io) на Вашем k8s кластере
  • измените svc для него, чтобы иметь ServiceType: LoadBalancer, получите IP 192.168.1.240 для этого svc исследование, которое указывает на Панель инструментов Ceph
  • установите A запись в DNS в МААСЕ для привязки ceph.maas кому: 192.168.1.240.

Теперь можно поднять браузер и перейти в ceph.maas получить доступ к тире.

В Вашем случае статический дюйм/с, вероятно, будет частью того, в чем Вы нуждаетесь, чтобы у Вас были предсказуемые конечные точки для веб-приложений и сервисов и устройства хранения данных. Возможно, МААС, когда это будет действовать как прокси, просто передаст IP.


Если частью того, в чем Вы нуждаетесь, является статический дюйм/с, доступный вне кластера в Вашей LAN, я предлагаю, чтобы Вы зарезервировали диапазон дюйм/с на Вашей подсети, которые не используются МААСОМ и Ваш маршрутизатор. Изображение включало с примером, который оставляет 192.168.1.240-247 незарезервированных МААСОМ и других.

Затем использование MetalLB:

kubectl apply -f https://raw.githubusercontent.com/google/metallb/v0.8.3/manifests/metallb.yaml

Создайте следующую декларацию для карты конфигурации, которая дает Вашей подсистеме балансировки нагрузки пул дюйм/с для использования.

layer2.yaml

 apiVersion: v1
 kind: ConfigMap
 metadata:
   namespace: metallb-system
   name: config
 data:
   config: |
     address-pools:
     - name: my-ip-space
       protocol: layer2
       addresses:
       - 192.168.1.240/29

Примените декларацию к своему кластеру

kubectl apply -f layer2.yaml

Эти шаги развернут и настроят подсистему балансировки нагрузки без операционной системы, которая способна к привязке к статическому дюйм/с, к которому можно получить доступ вне кластера. Вышеупомянутая установка с ее картой конфигурации установлена связать с тем узким диапазоном зарезервированных адресов (192.168.1.240-247). Если Вы требуете более широкого и/или другого диапазона, этот CIDR к калькулятору диапазона IP помогает.

https://www.ipaddressguide.com/cidr

После того, как MetalLB развертывается, необходимо будет перейти к службе, которую Вы хотите подвергнуть внутренне со статическим IP и изменить ClusterIP (или NodePort) к LoadBalancer. Это выберет от пула дюйм/с, доступного MetalLB, и присвоит тот.

Надеюсь, что это идет гладко для Вас. И удачи!

enter image description here

1
ответ дан 17 March 2020 в 00:11

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

Похожие вопросы: