Jak uruchomić Juju na serwerze lokalnym?

16

Chciałbym używać juju na moim serwerze w domu, aby poznać juju i bawić się nim. Mam wiele komputerów i chciałbym uzyskać dostęp do zawartości serwera z dowolnego z nich. Kiedy przejrzałem samouczek, skonfigurowałem juju, ale wystawiłem usługi tylko na lokalną maszynę. Chcę udostępnić je całej sieci. W jaki sposób mogę to zrobić?

Uwaga: mój serwer już istnieje i działa w wersji 12.04, nie chcę go ponownie instalować za pomocą Maas, aby uruchomić juju. Nie chcę też uruchamiać tego „w chmurze” na ec2 ani żadnym innym dostawcy, ponieważ chcę wypróbować to na własnym komputerze pod moją kontrolą w sieci.

Edytować:-

  • Brak zapory ogniowej
  • Bez blokowania, wszystkie porty otwarte
  • Tak. Wszystkie komputery w sieci LAN (192.168.1.0/24) mogą widzieć serwer (homeserver.local) na 192.168.1.2
  • Dość standardowy przewodowy i bezprzewodowy z jednym serwerem DHCP, który usuwa adresy IP z powyższego zakresu
  • Skonfiguruj poprawnie (dopiero zacząłem od nowa) i postępowałem zgodnie z samouczkiem, do którego skierował mnie Luis, oto wyniki: - http://paste.ubuntu.com/5714640/
  • Status juju pokazany powyżej.

Tak więc wszystko działa dobrze, ale głównym problemem jest to, że kontenery mają adresy IP przypisane lokalnie na serwerze, które są dostępne tylko na samym serwerze. Chociaż mogłem ustawić konfigurację przekierowywania portów ssh w całym miejscu, aby uzyskać dostęp do adresów IP 10.x z zakresu 192.168.1.0/24, wydaje się to zbyt skomplikowane i niepotrzebne. Chciałbym, żeby pojemniki były widoczne przez moją sieć LAN.

Popey
źródło
link pastebin wskazuje program w C ++ ...
sfałszowany
1
Cóż, to dziwne!
popey

Odpowiedzi:

11

Ok rozwiązane!

Skonfiguruj zmostkowaną sieć br0 w / 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

Edytuj /etc/lxc/lxc.conf i ustaw lxc.network.link = br0

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

Edytuj / etc / default / lxc i ustaw LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE i LXC_DHCP_MAX odpowiednio dla mojej sieci LAN (ustawienia typu 192.168.1.0/24) teraz status juju pokazuje 192.168.1.0/24 adresy mogę uzyskać dostęp do moich adresów 192.168.1.0/24 je przez LAN z innej maszyny

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
źródło
Musisz także zmienić ustawienie „mostka sieciowego” lokalnego dostawcy w twoich środowiskach. Yaml, w przeciwnym razie juju będzie próbował używać domyślnego „lxcbr0”.
dimitern
5

Z tego, co rozumiem, masz zainstalowane i działające Juju, ale chcesz udostępnić usługę innym komputerom w sieci. Zakładam, że wszystkie komputery w twojej sieci mogą się widzieć i mieć poprawne adresy IP.

Zgaduję też, że samouczek, o którym mówisz, jest jednym z następujących:

wyobrażam sobie, że jeśli chcesz udostępnić usługę innym komputerom, zrobiłbyś to:

juju expose SERVICE

Korzystanie Jak zainstalować Hadoop? jako przykład chciałbym:

juju expose hadoop-master

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

juju status SERVICE pomaga również dowiedzieć się, jak działa usługa.

Oczywiście jest kilka rzeczy, które muszę wiedzieć o sieci i serwerze, na przykład:

  • Czy serwer ma konfigurację zapory ogniowej (iptables, ufw ...)
  • Czy w sieci jest skonfigurowany router, który wykonuje czynności związane z blokowaniem, przekazywaniem i takie, które mogłyby powodować problemy z dostępem do serwera?
  • Czy komputery w sieci LAN widzą serwer?
  • Czy jest jakieś specjalne połączenie, które nie jest powszechne (bezprzewodowe lub przewodowe) lub używane zabezpieczenia, które mogłyby stworzyć problem z klientami i serwerem?
  • Czy wszystkie kroki do skonfigurowania Juju są wykonane poprawnie (jak wspomniano w tutorialach, szczególnie część, o environments.yamlktórej często zapominam lub się mylę).
  • Czy juju statusdaje ci pewien wgląd w problem?
  • Czy w environments.yamlpliku jest skonfigurowanych wiele środowisk ?

W przypadku, gdy usługa nie jest wyświetlana na zewnątrz z powodu LXC, wykonaj następujące czynności (dostarczone przez odpowiedź popeya i wiele badań):

  • Skonfiguruj zmostkowaną sieć br0 w / etc / network / interfaces
  • Edytuj /etc/lxc/lxc.confi ustawlxc.network.link=br0
  • Edytuj /etc/default/lxci ustaw LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE i LXC_DHCP_MAX odpowiednio do sieci LAN (ustawienia typu 192.168.1.0/24)

    Teraz juju statuspowinienem wyświetlać adresy 192.168.1.0/24 dla moich urządzeń i mieć dostęp do sieci LAN z innego komputera.

Luis Alvarado
źródło
1
Jeśli jednak ssh na serwer i uruchomię „lynx 10.0.3.234”, dostanę stronę Wordpress. Tak więc kontener lxc jest uruchomiony, a Wordpress został pomyślnie zainstalowany i dostępny na porcie 80 na 10.0.3.234, ale jest to widoczne tylko wewnętrznie na serwerze. Myślę, że lokalne wdrożenie juju jest dostosowane do deweloperów przenoszących te rzeczy na swoim laptopie, a nie na osobnej maszynie.
popey