Как запустить Juju на локальном сервере?

16

Я хотел бы использовать juju на своем сервере дома, чтобы узнать juju и поиграть с ним. У меня есть несколько компьютеров и вы хотите получить доступ к тому, что находится на сервере от любого из них. Когда я прошел учебник, он настроил juju в порядке, но только разоблачил услуги на локальной машине. Я хочу разоблачить их по всей сети. Как я могу это сделать?

Примечание: мой сервер уже существует и работает 12.04, я не хочу переустанавливать его с помощью maas, чтобы заставить работу juju работать. Я также не хочу запускать это «в облаке» на ec2 или любом другом провайдере, потому что я хочу попробовать это на своей собственной машине под моим контролем в своей сети.

Edit: -

  • Нет брандмауэра
  • Нет блокировки, все порты открыты
  • Да. Все компьютеры в локальной сети (192.168.1.0/24) могут видеть сервер (homeserver.local) на 192.168.1.2.
  • Довольно стандартная проводная и Wi-Fi с одним DHCP-сервером выдает IP-адреса в вышеуказанном диапазоне.
  • Настройте правильно (только что началось снова с нуля) и следуйте инструкциям, на которые меня направил Luis, вот результаты: - Ссылка
  • статус juju показан выше.

Итак, все работает хорошо, но основная проблема заключается в том, что в контейнерах есть локальные IP-адреса на сервере, которые доступны только на самом сервере. Хотя я мог бы обойти настройку перенаправления ssh-портов по всему месту для доступа к IP-адресам 10.x из диапазона 192.168.1.0/24, это кажется сложным и ненужным. Я бы хотел, чтобы контейнеры были открыты через мою локальную сеть.

    
задан popey 15.04.2013 в 00:08
источник

2 ответа

11

Хорошо, решено!

Настройка мостовой сети br0 в / etc / network / interfaces.

auto eth1
iface eth1 inet manual

auto br0
iface br0 inet static
bridge_ports eth1
address 192.168.1.2
broadcast 192.168.1.255
netmask 255.255.255.0
gateway 192.168.1.1
bridge_stp off
bridge_fd 0
bridge_maxwait 0

Измените /etc/lxc/lxc.conf и установите lxc.network.link = br0

lxc.network.type=veth
lxc.network.link=br0
lxc.network.flags=up

Изменить / etc / default / lxc и установить LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE & amp; LXC_DHCP_MAX для моей локальной сети (настройки 192.168.1.0/24) теперь статус juju показывает 192.168.1.0/24 адреса для моих устройств, и я могу получить к ним доступ через LAN с другого компьютера.

LXC_BRIDGE="br0"
LXC_ADDR="192.168.1.2"
LXC_NETMASK="255.255.255.0"
LXC_NETWORK="192.168.1.0/24"
LXC_DHCP_RANGE="192.168.1.50,192.168.1.99"
LXC_DHCP_MAX="49"
    
ответ дан popey 17.04.2013 в 15:45
источник
5

Для чего я могу понять, у вас установлен и работает Juju, но вы хотите открыть службу другим компьютерам в своей сети. Я предполагаю, что все компьютеры в вашей сети могут видеть друг друга и правильно их IP-адреса.

Я также предполагаю, что учебник, о котором вы говорите, является одним из следующих:

, тогда я бы предположил, что если вы хотите сделать сервис доступным для других компьютеров, вы сделаете следующее:

juju expose SERVICE

Используя Как установить Hadoop? в качестве примера я бы хотел:

juju expose hadoop-master

Juju Expose - Ссылка

juju status SERVICE также помогает в определении того, как работает служба.

Конечно, есть несколько вещей, которые мне нужно знать о сети и сервере, например:

  • У сервера есть настройка брандмауэра (iptables, ufw ...)
  • Есть ли в сети маршрутизатор, настроенный делать что-то, связанное с блокировкой, пересылкой и тем, что создаст проблему с попыткой доступа к серверу?
  • Локально ли компьютеры в локальной сети видят сервер?
  • Существует ли какое-либо специальное соединение, которое не является обычным (беспроводное или проводное) или используемая система безопасности, которая может создать проблему с клиентами и сервером?
  • Все шаги, чтобы правильно настроить Juju (Как указано в упомянутых руководствах, особенно часть о environments.yaml , которую я стараюсь забыть или ошибиться).
  • Предоставляет ли juju status некоторое представление о том, что может быть проблемой?
  • У вас есть несколько сред, установленных в файле environments.yaml ?

Если услуга не показана снаружи из-за LXC, сделайте следующее (предоставлено ответом по дате и большим количеством исследований):

  • Настройка мостовой сети br0 в / etc / network / interfaces
  • Изменить /etc/lxc/lxc.conf и установить lxc.network.link=br0
  • Измените /etc/default/lxc и установите LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE & amp; LXC_DHCP_MAX в соответствии с настройками типа LAN (192.168.1.0/24)

    Теперь juju status должно показывать адреса 192.168.1.0/24 для моих устройств и может иметь доступ через LAN с другого компьютера.

ответ дан Luis Alvarado 17.04.2013 в 00:26