Kubernetes (владелец ранчо) проникает в понимание

что я знаю / что уже запущено: у меня есть запущенный ранчо с настройкой (2.4.2) на vsphere с L4 nginx lb перед ним. доступ к пользовательскому интерфейсу и предоставление новых кластеров (драйвер узла vsphere) отлично работает. Я знаю, что я не в облаке и не могу использовать L7 LB (кроме nip.ip или metal lb, возможно), а развертывание рабочих нагрузок и их отображение через nodeport отлично работает (так что рабочие нагрузки доступны на указанном порту на каждом узле) соответствующий модуль работает на).

мой вопрос: можно ли открывать (возможно, через входящие) приложения в любом из моих работающих кластеров под доменом / адресом. Я могу получить доступ к пользовательскому интерфейсу ранчо (в моем случае: https://rancher-things.local)? например, иметь внешнюю (локальную сеть, а не общедоступную), если я разверну, возможно, реестр гавани и могу каким-то образом раскрыть его, например, https://rancherthings.local/harbor? или, если это не сработает, можно ли развернуть балансировщик нагрузки L4 для доступа к приложениям в конкретном кластере или перед ним?

Спасибо.


person Patrick Hermann    schedule 21.04.2020    source источник


Ответы (2)


Уже должен быть входной ресурс, который предоставляет пользовательский интерфейс владельца ранчо. Вы можете отредактировать вход и добавить путь /harbor для маршрутизации трафика к сервису для гавани.

  paths:
  - path: /harbor
    backend:
      serviceName: harbor
      servicePort: 80
person Arghya Sadhu    schedule 21.04.2020

@ arghya-sadhu, LB указывает на кластер высокой доступности (также известный как кластер upstream / management / rke / ha) под управлением Rancher, а не Harbour. Не рекомендуется создавать какие-либо другие входы в этом кластере высокой доступности. Кроме того, я думаю, что рабочая нагрузка гавани выполняется в подчиненном кластере, и нет LB, указывающего на узлы этого кластера.

Патрик, вы можете создать службу, открывающую порт вашего приложения через http, и использовать механизм прокси Rancher для доступа к пользовательскому интерфейсу вашего приложения через URL-адрес Rancher. Если в вашей настройке включен мониторинг, вы можете следить за тем, как пользовательский интерфейс Grafana отображается с помощью этого механизма.

После создания службы вы можете найти информацию об URL-адресе с помощью следующей команды:

kubectl -n <your_app_namespace> cluster-info
# or
kubectl cluster-info -A

Обратной стороной этого подхода является то, что у вас нет специального LoadBalancer, обрабатывающего трафик, но для настройки меньшего масштаба это должно быть нормально.

Пример URL-адреса графаны:

https://<rancher-fqdn>/k8s/clusters/<cluster-id>/api/v1/namespaces/cattle-prometheus/services/http:access-grafana:80
person leodotcloud    schedule 22.04.2020
comment
привет, лео, но я думаю, что этот подход мне поможет, потому что, если попробовать этот пример, мне нужно войти в систему на ранчо, чтобы получить доступ к URL-адресу. Я хочу, чтобы приложения в моей сети были доступны без систем или пользователей, которые должны быть авторизованы в пользовательском интерфейсе пользователя ранчо. Я хочу развертывать такие приложения, как гавань, только на подчиненных кластерах. но мне все еще интересно, как сделать это на месте с помощью ingress..nodeport, например, работает, по крайней мере, с chartmuseum. мне, может быть, придется развернуть балансировщик нагрузки nginx с правильным именем хоста перед нижележащим кластером ранчо? Вот так я могу получить доступ к пользовательскому интерфейсу владельца ранчо из моей настройки ha - person Patrick Hermann; 09.05.2020
comment
@PatrickHermann, вы правы, аутентификация действительно нужна. Вышеупомянутый ответ относится к вопросу OP, в котором использовался путь в пользовательском интерфейсе ранчо. Внешний LB, как вы упомянули, nginx, необходим для локальных кластеров. Создание подстановочной записи в nginx, указывающей на узлы кластера, с подстановочной записью DNS, указывающей на LB, даст большую гибкость. Конечно, вы можете отказаться от определенных записей DNS вместо подстановочных знаков. - person leodotcloud; 10.05.2020