我已经在 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在这些文件中
- /etc/默认/lxc
- /etc/lxc/默认.conf
- /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 端口,整个系统无法使用。