切换 Juju lxc 桥

切换 Juju lxc 桥

我已经在 LXC 中设置了 Juju 的运行,并尝试将其暴露给内部网络。我通常会遵循问题是将 lxc 指向我现有的桥接器(eth-br0)。

我已经按照帖子进行了编辑,但是当我尝试引导时,我得到/etc/default/lxc/etc/lxc/default.conf

2013-09-26 19:47:05 INFO juju.provider.local environprovider.go:32 opening environment "local"
2013-09-26 19:47:05 ERROR juju.utils network.go:37 cannot find network interface "lxcbr0": net: no such interface
2013-09-26 19:47:05 ERROR juju.provider.local environprovider.go:48 failure setting config: net: no such interface
2013-09-26 19:47:05 ERROR juju supercommand.go:282 command failed: net: no such interface
error: net: no such interface

显然,仍有一些东西试图指向,lxcbr0而不是现有的桥梁。如果我只想将 lxc juju 暴露给网络,这是最好的方法吗?我应该如何正确配置它?

ifconfig如果有必要我可以附上我的。

答案1

你是对的,有东西试图指向lxcbr0

使用lxcbr0在这些文件中

  1. /etc/默认/lxc
  2. /etc/lxc/默认.conf
  3. /etc/网络/接口

我试过br0它给了我同样的错误。将现有桥接器更改为lxcbr0我工作得很好。

答案2

juju 的最新版本在环境 yaml 中包含一个用于指定网络桥的选项:

# network-bridge holds the name of the LXC network bridge to use.
# Override if the default LXC network bridge is different.
#
#
network-bridge: br0

希望这可以帮助?

答案3

通过以下方式查看您拥有哪个接口:

是否配置

我的结果是这样的:

lo        Link encap:Local Loopback  
      inet addr:127.0.0.1  Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:16436  Metric:1
      RX packets:12 errors:0 dropped:0 overruns:0 frame:0
      TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:600 (600.0 B)  TX bytes:600 (600.0 B)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
      inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.255
      UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
      RX packets:7239 errors:0 dropped:0 overruns:0 frame:0
      TX packets:8727 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:931464 (931.4 KB)  TX bytes:1701016 (1.7 MB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
      inet addr:198.46.159.94  P-t-P:198.46.159.94  Bcast:198.46.159.94  Mask:255.255.255.255
      UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

所以我的网络接口是venet0.我编辑我的.juju/环境.yaml如下:

local:
    type: local
    network-bridge: venet0

保存后运行:

juju 引导程序

您可以通过以下方式查看它是否正在运行:

符咒状态

这是我的结果:

environment: local
machines:
  "0":
    agent-state: started
    agent-version: 1.20.14.1
    dns-name: localhost
    instance-id: localhost
    series: trusty
    state-server-member-status: has-vote
services: {}

答案4

网络桥接选项仅为本地提供商实现。

听起来也许您正在使用手动提供程序。

遗憾的是,对于手动提供程序,唯一可用的 lxc 网桥设备是 lxcbr0。它是一个硬编码值。

我在这里启动了一个分支来向手动提供程序添加对网桥的支持: https://github.com/jrwren/juju/commit/3ee84a3881e43181b16099d8649f879fc68f089c

但是我对 juju 的内部工作原理了解不够,因此,虽然它确实启动了 lxc 实例,但状态服务器停止监听其 17070 端口,整个系统无法使用。

相关内容