Я настроил Juju на работу в LXC и пытаюсь открыть его для внутренней сети. Я обычно следую этому вопросу, чтобы указать 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
при необходимости.
Вы правы, что-то пытается указать lxcbr0 .
Используйте lxcbr0 в этих файлах
Я пытался br0 , это выдает мне ту же ошибку. После изменения существующего моста на lxcbr0 , чтобы я работал нормально.
Последняя версия 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
Надеюсь, это поможет?
Посмотрите, какой у вас интерфейс:
ifconfig
blockquote>мой результат такой:
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 / environment.yaml , как показано ниже:
local: type: local network-bridge: venet0
и после сохранения запускаю:
juju bootstrap
blockquote>Вы можете увидеть, работает ли он, по:
статус juju
blockquote>Это мой результат:
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: {}
Опция сетевого моста реализована только для местного провайдера.
Похоже, вы используете провайдера вручную.
К сожалению, для провайдера вручную единственное работающее устройство сетевого моста lxc - это lxcbr0. Это жестко закодированное значение.
Я запустил ветку, чтобы добавить поддержку сетевого моста для провайдера вручную: https://github.com/jrwren/juju/commit/3ee84a3881e43181b16099d8649f879fc68f089c
Но я не достаточно знать о внутренней работе juju и поэтому, хотя он запускает экземпляры lxc, сервер состояний перестает слушать порт 17070, и вся система не работает.