Como executo o Juju em um servidor local?

16

Eu gostaria de usar o juju no meu servidor em casa para conhecer o juju e brincar com ele. Eu tenho vários computadores e gostaria de acessar o que está no servidor de qualquer um deles. Quando passei pelo tutorial configurei o juju bem, mas só expus os serviços para a maquina local. Eu quero expô-los a toda a rede. Como posso fazer isso?

Nota: meu servidor já existe e está executando o 12.04, não quero reinstalá-lo usando o maas apenas para que o juju funcione. Eu também não quero executar este "na nuvem" no ec2 ou qualquer outro provedor, porque eu quero tentar isso na minha própria máquina sob meu controle na minha rede.

Editar: -

  • Sem firewall
  • Sem bloqueio, todas as portas abrem
  • Sim. Todos os computadores na rede local (192.168.1.0/24) podem ver o servidor (homeserver.local) em 192.168.1.2
  • Com fio e wi-fi bastante padrão, com um servidor DHCP distribuindo endereços IP no intervalo acima
  • Configure corretamente (acabou de começar do zero) e siga o tutorial que Luis me direcionou, aqui estão os resultados: - link
  • status do juju mostrado acima.

Assim, tudo corre bem, mas a questão principal é que os contentores têm endereços IP atribuídos localmente no servidor, que só são acessíveis no próprio servidor. Enquanto eu poderia ir em torno de configurar a porta ssh encaminhamento em todo o lugar para acessar os endereços IP 10.x da faixa 192.168.1.0/24, isso parece complicado e desnecessário. Eu gostaria dos contêineres expostos na minha LAN.

    
por popey 15.04.2013 / 00:08

2 respostas

11

Ok, resolvido!

Configure br0 da rede em ponte em / 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

Edite /etc/lxc/lxc.conf e defina lxc.network.link = br0

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

Edite / etc / default / lxc e defina LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE & amp; LXC_DHCP_MAX de forma apropriada para minha LAN (configurações do tipo 192.168.1.0/24) agora o status juju mostra 192.168.1.0/24 endereços para minhas unidades e eu posso acessá-los pela LAN de outra máquina

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"
    
por popey 17.04.2013 / 15:45
5

Para o que eu entendo, você tem o Juju instalado e funcionando, mas deseja expor um serviço a outros computadores da sua rede. Assumirei que todos os computadores da sua rede podem ver uns aos outros e ter seus endereços IP corretos.

Eu também estou supondo que o tutorial de que você está falando é uma delas:

então, imagino que, se você quiser disponibilizar o serviço para outros computadores, faça isso:

juju expose SERVICE

Usando Como instalar o Hadoop? como o exemplo que eu faria:

juju expose hadoop-master

Juju Expose - link

juju status SERVICE também ajuda a descobrir como o serviço está funcionando.

É claro que há algumas coisas que eu preciso saber sobre a rede e o servidor, por exemplo:

  • O servidor tem uma configuração de firewall (iptables, ufw ...)
  • A rede tem um roteador configurado para fazer algo relacionado a bloqueio, encaminhamento e tal que criaria um problema ao tentar acessar o servidor?
  • Os computadores na LAN veem o servidor?
  • Existe alguma conexão especial que não é comum (sem fio ou com fio) ou segurança usada que poderia criar um problema com os clientes e o servidor?
  • São todos os passos para configurar o Juju corretamente (conforme fornecido pelos tutoriais mencionados, especialmente a parte sobre environments.yaml que eu costumo esquecer ou errado).
  • O juju status fornece algumas informações sobre o problema?
  • Você tem vários ambientes configurados no arquivo environments.yaml ?

Caso o serviço não seja exibido para o exterior por causa do LXC, faça o seguinte (Fornecido pela resposta dada pelo papa e muita pesquisa):

  • Configurar br0 da rede em ponte em / etc / network / interfaces
  • Edite o /etc/lxc/lxc.conf e defina lxc.network.link=br0
  • Edite /etc/default/lxc e defina LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE & amp; LXC_DHCP_MAX apropriadamente para a LAN (configurações do tipo 192.168.1.0/24)

    Agora juju status deve mostrar 192.168.1.0/24 endereços para minhas unidades e pode ser acessado pela LAN de outra máquina.

por Luis Alvarado 17.04.2013 / 00:26