
Я хочу установить juju-gui с использованием локального провайдера (re lxc) на облачном экземпляре. Однако проблема в том, что juju-gui будет установлен в контейнер lxc, а этот контейнер будет немаршрутизируемым адресом 10.xxx.
Я добился определенного прогресса, следуя этим рекомендациям.основные инструкции
После создания моих ключевых файлов я убедился, что контейнер juju-gui, а также хост имеют их копии ( /etc/ssl/certs
и /etc/ssl/private
на хосте, /var/lib/lxc/cn_name/rootfs/etc/ssl/certs
и /var/lib/lxc/cn_name/rootfs/etc/ssl/private
в контейнере).
Указывая в своем браузере публичный IP-адрес экземпляра облака хоста, я перенаправляюсь на страницу входа в систему администратора juju-gui web, но она просто продолжает крутиться с надписью «Подключение к среде Juju» ??
Я уверен, что кто-то уже делал это раньше, но теперь я застрял, пытаясь понять, что именно настроено неправильно.
Моя цель — иметь возможность указать в своем браузере публичный адрес экземпляра облака, войти в juju-gui и, поскольку я настроен на локального провайдера, развернуть дополнительные Charms/службы в большем количестве контейнеров LXC в этом экземпляре облака.
решение1
В конце концов я просто использовал следующие команды IPTABLES для перенаправления HTTP- и HTTPS-доступа к контейнеру LXC, в котором работает JUJU-GUI:
sudo iptables -t nat -I PREROUTING -p tcp -d <host-ip> --dport 443 -j DNAT --to <lxc-ip>:443
sudo iptables -t nat -I PREROUTING -p tcp -d <host-ip> --dport 80 -j DNAT --to <lxc-ip>:80
sudo iptables -A FORWARD -p tcp -d <lxc-ip> --dport 443 -j ACCEPT
sudo iptables -A FORWARD -p tcp -d <lxc-ip> --dport 80 -j ACCEPT
Используя вышеизложенное, я теперь могу получить доступ из Интернета к Juju-GUI, работающему в контейнере LXC в режиме «локального» провайдера.
Любые развернутые Charms ... развертываются в других контейнерах LXC на том же хосте.
решение2
Короткий ответ заключается в том, что в настоящее время это не проверенный и не поддерживаемый способ настройки Juju GUI. Для работы ему необходимо прямое wss-соединение с серверами состояний juju. Однако команда заинтересована в этом, и мне любопытно, не могли бы вы поделиться более подробной информацией о вашей настройке, чтобы узнать, можем ли мы сделать что-то, чтобы включить его и поддерживать.
решение3
Вам просто нужно использовать эту команду на терминале вашего компьютера, чтобы добавить статический маршрут в ваш контейнер.
sudo route add -net 10.X.X.X/24 gw SERVERIP
например, если мой публичный адрес сервера — 1.1.1.1
, а адрес моего контейнера — , то 10.0.3.194/24
команда, которую нужно использовать, будет следующей:
sudo route add -net 10.0.3.0/24 gw 1.1.1.1