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


16

Я хотів би використовувати джуджу на своєму сервері вдома, щоб познайомитись з джуджу та пограти з ним. У мене є кілька комп’ютерів, і я хотів би отримати доступ до сервера з будь-якого з них. Коли я пройшов підручник, він налаштував Джуджу добре, але лише виставив послуги місцевій машині. Я хочу викрити їх у всій мережі. Як я можу це зробити?

Примітка: мій сервер вже існує і працює 12.04, я не хочу перевстановлювати його, використовуючи maas, просто щоб джуджу працював. Я також не хочу запускати це "в хмарі" на ec2 або будь-якому іншому провайдері, тому що я хочу спробувати це на власній машині під моїм контролем у своїй мережі.

Редагувати: -

  • Немає брандмауера
  • Не блокується, усі порти відкриті
  • Так. Усі комп'ютери в локальній мережі (192.168.1.0/24) можуть бачити сервер (homeserver.local) на 192.168.1.2
  • Досить стандартний провідний і Wi-Fi з одним DHCP-сервером, що вимиває IP-адреси у вказаному вище діапазоні
  • Налаштування правильно (щойно розпочалося з нуля) і слідуючи навчальним посібником, Луїс направив мене, ось результати: - http://paste.ubuntu.com/5714640/
  • статус дзюджу показаний вище.

Отже, все працює нормально, але головне питання полягає в тому, що контейнери мають IP-адреси, локально призначені на сервері, доступні лише на самому сервері. Хоча я міг обходитися налаштуванням ssh-порта для переадресації повсюди для доступу до 10.x IP-адрес із діапазону 192.168.1.0/24, це здається надскладним та непотрібним. Мені б хотілося, щоб контейнери були відкриті в моїй локальній мережі.


посилання pastebin вказує на програму C ++ ...
rigved

1
Ну це дивно!
попі

Відповіді:


11

Гаразд, вирішено!

Налаштування мостової мережі br0 в / etc / network / інтерфейсах.

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 & LXC_DHCP_MAX відповідним чином для моєї локальної мережі (налаштування типу 192.168.1.0/24). їх через локальну мережу з іншої машини

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"

Вам також знадобиться змінити налаштування "мережевого мосту" місцевого провайдера у середовищі.yaml, інакше juju буде намагатися використовувати типовий "lxcbr0".
dimitern

5

Що я можу зрозуміти, у вас встановлений і працює Juju, але ви хочете відкрити послугу іншим комп'ютерам у вашій мережі. Я припускаю, що всі комп’ютери у вашій мережі можуть бачити один одного і коректувати їх IP-адреси.

Я також здогадуюсь, що підручник, про який ви говорите, є одним із таких:

то я б уявив, що якщо ви хочете зробити послугу доступною для інших комп'ютерів, ви зробите це:

juju expose SERVICE

Використання Як встановити Hadoop? як приклад я б:

juju expose hadoop-master

Juju Expose - https://jujucharms.com/docs/stable/charms-exposed

juju status SERVICE також допомагає з'ясувати, як працює служба.

Звичайно, я повинен знати кілька речей, які потрібно знати про мережу та сервер, наприклад:

  • Чи має сервер налаштування брандмауера (iptables, ufw ...)
  • Чи в мережі є маршрутизатор, налаштований на те, щоб зробити щось, пов’язане з блокуванням, переадресацією, і таке, що створило б проблему при спробі доступу до сервера?
  • Чи бачать комп'ютери в локальній мережі сервер?
  • Чи є якесь спеціальне з’єднання, яке не є загальним (бездротовим чи дротовим) або захищеним у використанні, яке може створити проблему з клієнтами та сервером?
  • Чи правильно виконані всі кроки з налаштування Джуджу (Як це передбачено згаданими підручниками, особливо тією частиною, про environments.yamlяку я схильний забути чи помилитися).
  • Чи juju statusдає вам деяке уявлення про те, що може бути проблемою?
  • У вас у environments.yamlфайлі налаштовано кілька середовищ ?

Якщо послуга не відображається назовні через LXC, зробіть наступне (За умови відповіді, попі дав і багато досліджень):

  • Налаштування мостової мережі br0 в / etc / network / інтерфейсах
  • Відредагуйте /etc/lxc/lxc.confта встановітьlxc.network.link=br0
  • Відредагуйте /etc/default/lxcта встановіть LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE та LXC_DHCP_MAX відповідно до локальної мережі (налаштування типу 192.168.1.0/24)

    Тепер juju statusмає відображатись 192.168.1.0/24 адрес для моїх підрозділів і можна отримати доступ через локальну мережу з іншої машини.


1
Однак якщо я сш на сервер і запускаю "lynx 10.0.3.234", я отримую сторінку wordpress. Таким чином, контейнер lxc працює і працює, а wordpress все успішно встановлений і доступний на порту 80 10.0.3.234, але це видно лише на сервері. Думаю, що локальне розгортання дзюджу призначене для розробників, які переносять цей матеріал на своєму ноутбуці, а не на окрему машину.
папі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.