Руководство по установке и запуску OpenStack в ALT Linux и производных: различия между версиями
Pauli (обсуждение | вклад) |
Pauli (обсуждение | вклад) |
||
Строка 82: | Строка 82: | ||
Где вместо TOKEN_ID подставить случайный ключ - например выдачу команды | Где вместо TOKEN_ID подставить случайный ключ - например выдачу команды | ||
openssl rand -hex 10 | openssl rand -hex 10 | ||
Чтобы получилось что-то вроде admin_token = edb0ef20598523698185, а DB_ADDRESS - controller или localhost. | Чтобы получилось что-то вроде admin_token = edb0ef20598523698185, а DB_ADDRESS - controller или localhost. Теперь можно заполнить базу данных начальными таблицами для Keystone: | ||
keystone-manage db_sync | keystone-manage db_sync | ||
Версия от 16:51, 28 октября 2015
Этот участник состоит в ALT Linux Team под ником pauli.
e-mail: pauli@altlinux.org |
Статья по мотивам материала OpenStack. Инструкция по применению.
В отличие от первоисточника, охватывающего множество дистрибутивов (и это правильно!) здесь мы постараемся дать пошаговое руководство по установке и первоначальной настройке компонентов OpenStack конкретно для семейства ALT Linux и производных. Предполагается, что все примеры команд, приведенные ниже, проверены и должны работать.
Предварительные условия
До начала требуется работоспособная базовая система на основе p7. Контейнеру достаточно минимальных ресурсов:
- Процессорных ядер - одно;
- Оперативная память от 1 Гб;
- Свободное дисковое пространство 20 Гб.
Для демонстрации удобно использовать виртуальную машину VirtualBox, образ дистрибутива - altlinux-7.0.5-centaurus-i586. Имя виртуальной машины controller. При установке системы (шаг 5) укажем профиль Минимальная установка - Systemd Виртуальные сетевые интерфейсы конфигурируются следующим образом:
- Адаптер 1 тип подключения внутренняя сеть `intnet`
- Адаптер 2 тип подключения NAT, проброс портов хоста 2211 на 22 (ssh) гостя.
По умолчанию при минимальной установке sshd установлен, но автоматически не запускается. Он нам понадобится, чтобы стало возможным пользоваться буфером обмена для команд.
# systemctl enable sshd # systemctl start sshd
Дальнейшую настройку удобнее вести, подключившись к машине controller по ssh через 2211 порт хоста. /etc/hosts каждой из виртуальных машин, участвующих в тесте, для разрешения имён дополним параметрами:
# Управляющий узел 10.0.0.11 controller # Сетевой узел 10.0.0.21 network # Вычислительный узел 10.0.0.31 compute1
Подготовка к началу установки
# apt-get update
Установка СУБД
# apt-get install mariadb-server python-module-MySQLdb
Настройка СУБД. Создаём файл конфигурации
# > /etc/my.cnf.d/mariadb_openstack.cnf
с параметрами
[mysqld] bind-address = 10.0.0.11 default-storage-engine = innodb innodb_file_per_table collation-server = utf8_general_ci init-connect = 'SET NAMES utf8' character-set-server = utf8 innodb_buffer_pool_size = 1G innodb_log_file_size = 256M innodb_log_buffer_size = 32M max_allowed_packet = 32M
# systemctl start mysqld # systemctl enable mysqld # systemctl status mysqld
... Active: active (running) ... Задаём пароль SQL root и настройки безопасности
# mysql_secure_installation
Сервер сообщений
# apt-get install rabbitmq-server # systemctl start rabbitmq # systemctl enable rabbitmq # systemctl status rabbitmq
... Active: active (running) ... Пользователь openstack в брокере сообщений и его полномочия:
# rabbitmqctl add_user openstack RABBIT_PASS # rabbitmqctl set_permissions openstack ".*" ".*" ".*"
Cлужба идентификации Keystone
Создание базы данных
mysql -u root -p > CREATE DATABASE keystone; > GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'KEYSTONE_DBPASS'; > GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DBPASS';
Установка и настройка компонентов
# apt-get install openstack-keystone apache2-mod_wsgi python-module-keystoneclient memcached python-module-memcached
Сохраняем умолчальный .conf для справки и создаём новый
# mv /etc/keystone/keystone.conf /etc/keystone/keystone.conf.bak # touch /etc/keystone/keystone.conf
С параметрами
[DEFAULT] admin_token = TOKEN_ID [database] connection = mysql://keystone:KEYSTONE_DBPASS@DB_ADDRESS/keystone [token] provider = keystone.token.providers.uuid.Provider driver = keystone.token.persistence.backends.memcache.Token [memcache] servers = controller:11211 verbose = True
Где вместо TOKEN_ID подставить случайный ключ - например выдачу команды
openssl rand -hex 10
Чтобы получилось что-то вроде admin_token = edb0ef20598523698185, а DB_ADDRESS - controller или localhost. Теперь можно заполнить базу данных начальными таблицами для Keystone:
keystone-manage db_sync
Подготовка веб-сервера Apache2 для Keystone
Параметр ServerName controller в /etc/httpd2/conf/httpd2.conf