Вручную настройте существующий контейнер LXC в Локальном для амулета

Действительно ли возможно вручную настроить существующий контроллер LXC в амулете (1.24)?

Я попробовал после (надежного человека человечности):

  1. Локальный амулет установки
  2. Создайте lxc контейнер, установите systemd-сервисы и dbus-x11 пакеты в contrainer
  3. Вручную настройте контейнер через Ssh (добавлять-машина амулета ssh:user@container-ip)
  4. Удалите следующую строку из agent.conf в контейнере (" - localhost:17070") и перезапустите jujud в контейнере. Это требовалось, или агент амулета в контейнере останется в незаконченном состоянии.
  5. Разверните mysql на continer, использующем - к переключателю амулета

Развертывание очарования MysqL запускается, берет длинный itme, и затем "сбои" рычага установки.

Выполнение ручного условия с помощью машины KVM работает (хотя я должен сделать шаг 4 так или иначе, или состояние агента останется ожидать).

Я делаю кластеризованную установку MySQL и хочу использовать LXC (вместо KVM) на нескольких реальных машинах, из-за LXC, являющегося comparitively легкий вес.

Спасибо за любые подсказки.

2
задан 7 September 2015 в 16:46

1 ответ

Я выяснил решение сам:

После начальной загрузки нового окружения амулета добавьте машину к среде:

juju add-machine

Это должно создать машину 1. После того, как машина 1 готова (пошлите багажом juju status), шаблон амулета был бы создан названный подобным juju-trusty-lxc-template.

Теперь можно создать клоны этого шаблона для создания как много lxc-контейнеров, которые Вы хотите и добавляете их к среде амулета вручную (это может быть создано на удаленной машине также) через ssh.

sudo lxc-clone juju-trusty-lxc-template -n lxc-001
sudo lxc-clone juju-trusty-lxc-template -n lxc-002

Запустите контейнеры

sudo lxc-start -d -n lxc-001
sudo lxc-start -d -n lxc-002

и затем добавьте контейнеры к амулету через ssh

juju add-machine ssh:lxc-001 #this shall create machine-2
juju add-machine ssh:lxc-002 #this shall create machine-3

После того, как амулет заканчивает устанавливать агенты на машине, необходимо удалить ссылку на localhost:170702 в agent.conf файле в контейнерах и перезапустить jujud внутри continers. Можно быстро сделать это через:

juju run --machine 2 'sudo sed -i "s/\- localhost:17070//" /var/lib/juju/agents/machine-*/agent.conf && sudo pkill jujud -hup'
juju run --machine 3 'sudo sed -i "s/\- localhost:17070//" /var/lib/juju/agents/machine-*/agent.conf && sudo pkill jujud -hup'

Пошлите багажом juju status если агенты находятся в запущенном состоянии, и Вы сделаны, готовы развернуть сервис на этих машинах.

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

Примечание: В конфигурации амулета по умолчанию, lxc контейнеры получит адрес DHCP от моста, созданного из амулета. Эти адреса не доступны на LAN. Можно хотеть создать пользовательский мост и позволить использованию амулета это (изменение network-bridge: your-lan-br0 в ~/.juju/environments.yaml прежде, чем загрузиться). Это также необходимо, если Вы добавляете контейнер от другой реальной машины. Можно также хотеть настроить статические адреса для lxc-контейнеров (dnsmasq).

3
ответ дан 2 December 2019 в 02:55

Другие вопросы по тегам:

Похожие вопросы: