Come si esegue Juju su un server locale?

16

Mi piacerebbe usare juju sul mio server a casa per conoscere juju e giocare con esso. Ho più computer e vorrei accedere a ciò che è sul server da uno di essi. Quando ho seguito il tutorial, ho installato juju okay, ma ho esposto solo i servizi alla macchina locale. Voglio esporli all'intera rete. Come posso fare questo?

Nota: il mio server esiste già ed è in esecuzione 12.04, non voglio reinstallarlo usando il maas solo per far funzionare juju. Inoltre, non voglio eseguire questo "nel cloud" su ec2 o altri provider perché voglio provare questo sul mio computer sotto il mio controllo sulla mia rete.

Modifica: -

  • Nessun firewall
  • Nessun blocco, tutte le porte si aprono
  • Sì. Tutti i computer sulla LAN (192.168.1.0/24) possono vedere il server (homeserver.local) su 192.168.1.2
  • Piuttosto cablato e wifi standard con un server DHCP che disegna gli indirizzi IP nell'intervallo sopra
  • Installazione corretta (appena ricominciata da zero) e seguito il tutorial a cui Luis mi ha indirizzato, ecco i risultati: - link
  • stato juju mostrato sopra.

Quindi, tutto funziona bene, ma il problema principale è che i contenitori hanno indirizzi IP assegnati localmente sul server, che sono accessibili solo sul server stesso. Mentre potrei andare in giro a configurare ssh port forwarding in tutto il luogo per accedere agli indirizzi 10.x IP dalla gamma 192.168.1.0/24, questo sembra complicato e superfluo. Mi piacerebbe che i container fossero esposti sulla mia LAN.

    
posta popey 15.04.2013 - 00:08

2 risposte

11

Ok, risolto!

Configurazione bridged network br0 in / 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

Modifica /etc/lxc/lxc.conf e imposta lxc.network.link = br0

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

Modifica / etc / default / lxc e imposta LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE & amp; LXC_DHCP_MAX appropriatamente per la mia LAN (impostazioni del tipo 192.168.1.0/24) ora lo stato juju mostra gli indirizzi 192.168.1.0/24 per le mie unità e posso accedervi tramite la LAN da un'altra macchina

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"
    
risposta data popey 17.04.2013 - 15:45
5

Per quello che sono in grado di capire, hai installato e funzionante Juju ma vuoi esporre un servizio ad altri computer sulla tua rete. Assumerò che tutti i computer sulla tua rete possano vedersi e avere i loro indirizzi IP corretti.

Sto anche indovinando che il tutorial di cui stai parlando è uno di questi:

quindi immagino che se vuoi rendere disponibile il servizio per altri computer, dovresti fare questo:

juju expose SERVICE

Usando Come installare Hadoop? come esempio vorrei:

juju expose hadoop-master

Juju Expose - link

juju status SERVICE aiuta anche a capire come funziona il servizio.

Naturalmente ci sono un paio di cose che dovrei sapere sulla rete e sul server, ad esempio:

  • Il server ha una configurazione del firewall (iptables, ufw ...)
  • La rete ha un router configurato per fare qualcosa relativo al blocco, all'inoltro e tale da creare un problema nel tentativo di accedere al server?
  • I computer sulla LAN vedono il server?
  • C'è qualche connessione speciale che non è comune (wireless o cablata) o di sicurezza in uso che potrebbe creare un problema con i client e il server?
  • Sono tutti i passaggi per configurare correttamente Juju (come previsto dai tutorial citati, in particolare la parte su environments.yaml che tendo a dimenticare o a sbagliare).
  • juju status ti dà un'idea di quale potrebbe essere il problema?
  • Hai impostato più ambienti nel file environments.yaml ?

Nel caso in cui il servizio non venga mostrato all'esterno a causa di LXC, fai quanto segue (Fornito dalla risposta che popey ha dato e molte ricerche):

  • Imposta bridged network br0 in / etc / network / interfaces
  • Modifica /etc/lxc/lxc.conf e imposta lxc.network.link=br0
  • Modifica /etc/default/lxc e imposta LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE & amp; LXC_DHCP_MAX appropriatamente alla LAN (impostazioni del tipo 192.168.1.0/24)

    Ora juju status dovrebbe mostrare gli indirizzi 192.168.1.0/24 per le mie unità e può essere accesso alla LAN da un'altra macchina.

risposta data Luis Alvarado 17.04.2013 - 00:26

Leggi altre domande sui tag