如何在本地服务器上运行Juju?

我想在家里的服务器上使用juju来了解juju并玩它。 我有多台计算机,并希望从其中任何一台访问服务器上的内容。 当我完成教程时,它设置了juju好,但只将服务暴露给本地机器。 我想将它们暴露给整个网络。 我怎样才能做到这一点?

注意:我的服务器已经存在且运行12.04,我不想使用maas重新安装它只是为了让juju工作。 我也不想在ec2或任何其他提供商上运行这个“在云端”,因为我想在我自己的机器上在我的网络控制下尝试这个。

编辑:-

  • 没有防火墙
  • 没有阻塞,所有端口都打开了
  • 是。 LAN上的所有计算机(192.168.1.0/24)都可以在192.168.1.2上看到服务器(homeserver.local)
  • 相当标准的有线和wifi,一台DHCP服务器在上述范围内输出IP地址
  • 正确设置(刚刚从头开始)并按照Luis指导我的教程,这里是结果: – http://paste.ubuntu.com/5714640/
  • juju状态如上所示。

所以,所有运行正常,但主要问题是容器在服务器上本地分配了IP地址,这些IP地址只能在服务器本身上访问。 虽然我可以在整个地方设置ssh端口转发来访问192.168.1.0/24范围内的10.x IP地址,但这似乎过于复杂且不必要。 我希望通过局域网暴露容器。

好的,解决了!

在/ etc / network / interfaces中设置桥接网络br0。

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并为我的LAN(192.168.1.0/24类型设置)正确设置LXC_BRIDGE,LXC_ADDR,LXC_NETMASK,LXC_NETWORK,LXC_DHCP_RANGE和LXC_DHCP_MAX现在juju状态显示我单位的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" 

对于我能够理解的内容,您已安装和使用Juju,但您希望将服务公开给网络上的其他计算机。 我将假设您网络上的所有计算机都可以看到对方并且其IP地址正确无误。

我也在猜你正在谈论的教程就是其中之一:

  • 如何配置juju用于本地使用?
  • Juju入门

然后我会想象如果你想让其他电脑的服务可用,你会这样做:

 juju expose SERVICE 

使用如何安装Hadoop? 作为例子我会:

 juju expose hadoop-master 

Juju Exposehttps://jujucharms.com/docs/stable/charms-exposing

juju status SERVICE还有助于确定服务的运作方式。

当然,我需要了解一些关于网络和服务器的事情,例如:

  • 服务器是否有防火墙设置(iptables,ufw ……)
  • 网络是否配置了路由器以执行与阻止,转发等相关的操作,这会在尝试访问服务器时产生问题?
  • LAN上的计算机是否可以看到服务器?
  • 是否有任何不常见的特殊连接(无线或有线)或使用的安全性可能会导致客户端和服务器出现问题?
  • 是否正确完成了设置Juju的所有步骤(正如所提到的教程所提供的,特别是关于我倾向于忘记或出错的environments.yaml的部分)。
  • juju status是否可以帮助您了解问题的原因?
  • 您是否在environments.yaml文件中设置了多个环境?

如果因为LXC而没有向外界显示该服务,请执行以下操作(由答案popey提供并进行了大量研究):

  • 在/ etc / network / interfaces中设置桥接网络br0
  • 编辑/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适当地设置到LAN(192.168.1.0/24类型设置)

    现在juju status应该为我的单位显示192.168.1.0/24地址,并且可以从另一台机器通过LAN访问。