Я хотел бы запустить тестовое облако и подготовить его к возможному развертыванию 12.04. Я немного испортил UEC, но мне было гораздо труднее найти что-нибудь полезное в качестве учебника для нового стека. Существует общая документация по Diablo, но, вероятно, в Ubuntu уже есть много полезных частей, с которыми конкретное руководство может сэкономить время.
Кроме того, как бы мне ни хотелось, мой бюджет не включает 4-6 тысяч долларов, чтобы запустить небольшой кластер с поддержкой Canonical.
Если вы хотите быстро приступить к работе, перейдите сюда:
В этом ответе более подробно рассказывается, как использовать Juju с OpenStack.
Платформа OpenStack мощна, и ее применение разнообразно. Этот раздел документация в первую очередь связана с развертыванием "стандартного" работающего Система OpenStack, использующая, помимо прочего, канонические компоненты, такие как MAAS, Juju и Ubuntu. Там, где это уместно, будут упомянуты другие методы и программное обеспечение.
Перед развертыванием любых служб очень полезно провести инвентаризацию ресурсов доступны и как их использовать. OpenStack состоит из ряда взаимосвязанные сервисы (Nova, Swift и т. д.), у каждой из которых разные требования к круг хозяев. Например, сервис Swift, который предоставляет хранилище объектов, имеет другие требования, чем служба Nova, которая обеспечивает вычисление ресурсы.
Минимальные требования для каждой услуги и рекомендации изложены в официальный OpenStack Operations Guide
Рекомендуемый состав узлов для развертывания OpenStack с MAAS и Juju состоит в том, что все узлы в системе должны иметь возможность запускать ЛЮБОЙ из Сервисы. Это лучший способ обеспечения устойчивости системы, поскольку любой физический узел должен выйти из строя, другой может быть перепрофилирован, чтобы занять его место. Это, очевидно, распространяется на любые требования к оборудованию, такие как дополнительные сетевые интерфейсы.
Если из соображений экономии или по другим причинам вы решите использовать другие конфигурации оборудования, вы должны отметить, что ваша способность преодолевать аппаратный сбой будет уменьшен. Также необходимо будет настроить таргетинг развертывания на определенных узлах - см. раздел в документации MAAS о тегах .
Мы будем использовать чудо-инструменты Juju для развертывания компонентов OpenStack. Каждый charm инкапсулирует все необходимое для настройки конкретной службы. Тем не мение, отдельные службы имеют множество вариантов конфигурации, некоторые из которых мы хочу изменить.
Чтобы упростить эту задачу и сделать ее более воспроизводимой, мы создадим отдельный файл конфигурации с соответствующими параметрами для всех служб. Это написано в стандартном формате YAML ( см. Www.yaml.org, если это вам незнакомо ).
Вот пример файла openstack-config.yaml:
keystone:
admin-password: openstack
debug: 'true'
log-level: DEBUG
nova-cloud-controller:
network-manager: 'Neutron'
quantum-security-groups: 'yes'
neutron-external-network: Public_Network
nova-compute:
enable-live-migration: 'True'
migration-auth-type: "none"
virt-type: kvm
#virt-type: lxc
enable-resize: 'True'
quantum-gateway:
ext-port: 'eth1'
plugin: ovs
glance:
ceph-osd-replication-count: 3
cinder:
block-device: None
ceph-osd-replication-count: 3
overwrite: "true"
glance-api-version: 2
ceph:
fsid: a51ce9ea-35cd-4639-9b5e-668625d3c1d8
monitor-secret: AQCk5+dR6NRDMRAAKUd3B8SdAD7jLJ5nbzxXXA==
osd-devices: /dev/sdb
osd-reformat: 'True'
Для всех служб мы можем настроить openstack-origin
так, чтобы он указывал на источник установки. В этом случае мы будем полагаться на значение по умолчанию, которое будет указывать на соответствующие источники для выпуска Ubuntu 14.04 LTS Trusty. Дальнейшая конфигурация для каждой службы описана в этом документе .
Для развертывания служб OpenStack возможны другие настройки и параметры конфигурации. Они подробно описаны в документации к отдельным чарам, используемым Джуджу, и их можно проверить, посетив онлайн-магазин талисманов Джуджу и выполнив поиск чар с помощью поля поиска в верхнем левом углу страницы. страница. параметры конфигурации затем подробно описываются в разделе «Конфигурация» на главной странице, как показано:
Теперь, когда конфигурация определена, мы можем использовать Juju для развертывания и связи служб.
Жужу требует минимальной настройки. Здесь мы предполагаем, что он уже настроен для работы с вашим кластером MAAS (дополнительную информацию см. В [Руководство по установке Juju] [juju_install].
Во-первых, нам нужно получить изображения и инструменты, которые будет использовать Juju:
juju sync-tools --debug
Затем мы можем создать экземпляр начальной загрузки:
juju bootstrap --upload-tools --debug
Мы используем переключатель upload-tools, чтобы использовать локальные версии инструментов, которые мы только что принес. Переключатель отладки даст подробный вывод, который может быть полезен. Этот процесс может занять несколько минут, так как Juju создает экземпляр и установка инструментов. Когда он закончится, вы можете проверить статус system с помощью команды:
juju status
Это должно вернуть что-то вроде:
environment: maas
machines:
"0":
agent-state: started
agent-version: 1.18.1.1
dns-name: localhost
instance-id: localhost
series: trusty
Теперь, когда узел начальной загрузки Juju запущен и работает, мы можем развернуть службы
требуется для установки OpenStack. Чтобы настроить эти службы
должным образом по мере их развертывания мы будем использовать файл конфигурации, который мы
определено ранее, передав его вместе с переключателем - config
при каждом развертывании
команда. Замените имя и путь вашего конфигурационного файла, если они отличаются.
Полезно, но не обязательно развертывать службы в указанном ниже порядке. это
также настоятельно рекомендуется открыть дополнительное окно терминала и запустить
команда журнал отладки juju
. Это выведет журналы всех сервисов, как они
запустить, и может быть полезно для устранения неполадок.
Также рекомендуется периодически запускать команду juju status
для проверки
что каждая служба установлена и работает правильно. Жужу будет
автоматически попытаться получить лучшую возможную версию
шарм из интернет-магазина Charm Store. Если вы устанавливаете из ограниченного или
закрытая сеть, есть возможность заблаговременно забрать нужные чармы.
См. [Документацию для автономных чудо-кнопок] [charms-offline].
juju deploy --to=0 juju-gui
juju deploy rabbitmq-server
juju deploy mysql
juju deploy --config openstack-config.yaml openstack-dashboard
juju deploy --config openstack-config.yaml keystone
juju deploy --config openstack-config.yaml ceph -n 3
juju deploy --config openstack-config.yaml nova-compute -n 3
juju deploy --config openstack-config.yaml quantum-gateway
juju deploy --config openstack-config.yaml cinder
juju deploy --config openstack-config.yaml nova-cloud-controller
juju deploy --config openstack-config.yaml glance
juju deploy --config openstack-config.yaml ceph-radosgw
Хотя службы сейчас развернуты, они еще не связаны друг с другом.
Каждая служба в настоящее время существует изолированно. Мы используем добавочное отношение juju
команда, чтобы они знали друг о друге и устанавливали любые соответствующие соединения
и протоколы. Об этой дополнительной конфигурации позаботится каждый
очаровывает себя.
Мы должны начать добавление отношений между чарами, настроив службу авторизации Keystone и ее базу данных, так как это будет необходимо для многих других подключений:
juju add-relation keystone mysql
Мы ждем, пока связь не будет установлена. После того, как он закончит, проверьте его со статусом juju:
juju status mysql
juju status keystone
Эта служба может занять некоторое время. Хотя, конечно, можно продолжить добавление отношений (Juju управляет очередью для ожидающих действий), это может быть контрпродуктивным с точки зрения общего затраченного времени, поскольку многие отношения относятся к одним и тем же службам.
Следующие отношения также должны быть быть сделано:
juju add-relation nova-cloud-controller mysql
juju add-relation nova-cloud-controller rabbitmq-server
juju add-relation nova-cloud-controller glance
juju add-relation nova-cloud-controller keystone
juju add-relation nova-compute mysql
juju add-relation nova-compute rabbitmq-server
juju add-relation nova-compute glance
juju add-relation nova-compute nova-cloud-controller
juju add-relation glance mysql
juju add-relation glance keystone
juju add-relation cinder keystone
juju add-relation cinder mysql
juju add-relation cinder rabbitmq-server
juju add-relation cinder nova-cloud-controller
juju add-relation openstack-dashboard keystone
juju add-relation swift-proxy swift-storage
juju add-relation swift-proxy keystone
Наконец, вывод juju status должен показать все отношения как завершенные. Облако OpenStack сейчас работает, но его необходимо заполнить некоторыми дополнительными компонентами, прежде чем оно будет готово к использованию.
У Кена Пеппла есть книга по развертыванию OpenStack: http://shop.oreilly.com/product/0636920021674.do
Компания Кена (Internap) выпустила первую коммерческую доступную службу облачных вычислений OpenStack.
http://www.theregister.co.uk / 2011/10/28 / internap_openstack_cloud /
Облако Internap построено на облачной платформе Xen (XCP) в качестве гипервизора.
Развертывание RDO - это быстрый и легкий процесс. Настройка облака OpenStack занимает примерно 15 минут и может занимать всего 3 шага. http://openstack.redhat.com/Quickstart