Переключение моста Juju lxc

5

Я установил Juju в LXC, и я пытаюсь открыть его во внутренней сети. Я обычно следую этому вопросу, чтобы указать lxc на мой существующий мост ( eth-br0 ).

Я редактировал /etc/default/lxc и /etc/lxc/default.conf согласно сообщению, но когда я пытаюсь загрузить bootstrap, я получаю:

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 .

    
задан user187595 26.09.2013 в 22:12
источник

4 ответа

3

Вы правы, что-то пытается указать lxcbr0 .

Используйте lxcbr0 в этих файлах

  1. / и т.д. / по умолчанию / LXC
  2. /etc/lxc/default.conf
  3. / и т.д. / сеть / интерфейсы

Я попробовал br0 , он дал мне ту же ошибку. После изменения существующего моста на lxcbr0 , который работал нормально.

    
ответ дан jkraj 09.10.2013 в 08:49
1

Последняя версия 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

Надеюсь, что это поможет?

    
ответ дан MattyW 02.07.2014 в 11:18
1

Посмотрите, какой интерфейс у вас есть:

  

Ifconfig

мой результат выглядит следующим образом:

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

Вы можете увидеть, работает ли он или нет:

  

статус 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: {}
    
ответ дан Danial Behzadi 13.12.2014 в 13:48
0

Опция сетевого моста реализована только для локального провайдера.

Похоже, возможно, вы используете провайдера.

К сожалению, для провайдера вручную единственным работающим сетевым мостом lxc является lxcbr0. Это твердое кодированное значение.

Я начал ветку, чтобы добавить поддержку сетевого моста к ручному провайдеру здесь: Ссылка

Но я не знаю достаточно о внутренней работе juju, и поэтому, когда он запускает экземпляры lxc, государственный сервер перестает слушать свой порт 17070, и вся система непригодна.

    
ответ дан Jay _silly_evarlast_ Wren 27.10.2015 в 20:48