У меня есть маршрутизатор с МААСОМ позади него и Kubernete позади контроллера МААСА (он имеет 2 NICs---один соединенный Kubernete и один соединенный к маршрутизатору). Я пытаюсь соединиться с контейнером в Kubernete с IP-адресом 10.12.0.2 от другого компьютера на маршрутизаторе. Однако я не могу соединиться.
Контроллер МААСА имеет IP-адрес 10.11.0.2, и я могу соединиться с этим очень хорошо. Однако 10.12.0.0 сети не выставляются маршрутизатору. Как я могу соединиться с кластером Kubernetes от компьютера, подключенного к маршрутизатору? Существует ли автоматизированный способ, которым я могу сделать это, не имея необходимость вручную соединять дюйм/с мостом в МААСЕ для каждого нового контейнера? Кроме того, я могу сделать это способом, которое оказывает минимальное влияние к безопасности, которую, имея промежуток узла МААСА обеспечивают кластер Kubernetes и маршрутизатор?
Первыми вещами сначала... является тот контейнерный IP, 10.12.0.2
, a ClusterIP
? Раз так это может объяснить много проблем, которые Вы имеете. Я записал следующее с главным предположением..., что это - внутренний, невыставленный IP, Вы входите в контейнер в переходной приставке. Одна вещь, которую можно попробовать, если Вы уже не имеете... Попытайтесь получить доступ к тому контейнерному IP 10.12.0.2
от поля МААСА. Не может получить доступ к нему? Я держал пари, что это должно быть выставлено...
Я не попробовал точную установку, которую Вы имеете. Я думаю, что я записал ниже, может не полностью применяться, потому что Ваша установка пробегает Ваш сервер МААСА, который усложняет вещи.
Возможно, Вы уже обнаружили это, но адреса ClusterIP, предоставленные большинством услуг Kubernetes, только выставляются другим машинам в кластере. Существует много способов подвергнуть сервис, включая многих я не рекомендовал бы для Вашей ситуации.
То, что я описываю ниже, является самой простой и лучшей установкой, которую я имею в этой точке, которая обладает преимуществом обеспечения статического IP для того сервиса. Можно затем использовать настройки DNS в МААСЕ (или независимо от того, что Вы предпочитаете для DNS) сделать A
запись, которая указывает на тот IP для того сервиса.
Для создания это менее абстрактное и срываемое жаргоном вот является конкретным примером... Вы могли бы:
rook.io
) на Вашем k8s кластереServiceType: LoadBalancer
, получите IP 192.168.1.240
для этого svc исследование, которое указывает на Панель инструментов CephA
запись в 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, и присвоит тот.
Надеюсь, что это идет гладко для Вас. И удачи!