Jump to content

OpenStack


Recommended Posts

Есть здесь такие кому по данному проекту можно вопросы задать?

[merge_posts_bbcode]Добавлено: 2014-03-18 22:52:41[/merge_posts_bbcode]

 

В частности вопросы по минимальным требованиям к оборудованию, минимальному набору компонент, архитектуре и установке

 

[merge_posts_bbcode]Добавлено: 2014-03-18 22:54:07[/merge_posts_bbcode]

 

Да, кажется не в том разделе создал топик...

Edited by tigr
Link to comment
Share on other sites

bionix, IaaS. Подробней пока не могу сказать потому как не знаю и ни с чем похожим не имел дело. Пока стоит задача просто изучить: что такое, как развертывать, настроить для выделения вычислительных мощностей. Edited by tigr
Link to comment
Share on other sites

tigr, IaaS - поставщиками облачных услуг что ли решили стать? )

Ну я имел в виду, есть такая задача, хотим что то, а как сделать пока не уверены)

Link to comment
Share on other sites

bionix, В каком-то смысле да) Для университетских нужд. Нужно настроить для раздачи вычислительных ресурсов. Сразу пробовать настраивать на мощных серверах нет смысла, поэтому пока один комп под управление, еще два под вычислительные мощности.

Вопрос по минимальному набору компонентов. В официальном мануале говорится только о Keystone, Horizon, Glance и управленческой части Nova на управляющем узле и Nova-compute и Nova-network на вычислительных узлах. Во многих других добавляют еще Swift. Кто прав? Честно сказать до этого надо еще вопрос задать чем отличаются Glance и Swift. По описанию они очень похожи.

bionix, Есть опыт работы с OpenStack?

Edited by tigr
Link to comment
Share on other sites

tigr, OpenStack не работал по правде говоря, но представляю что это такое. Как я понял, тебе нужно давать виртуалки с определенной конфигурацией кому то? Если остро не стояло конечно билинг облачных услуг и тд, облако полностью частное или гибрибное, я бы что нибудь по проще использовал

Glance

это хранилка образов виртуальных дисков

Swift

это хранилище типа дропбокс, но в более широком смысле, как бы услуги по хранения данных, поэтому он не везде

Edited by bionix
Link to comment
Share on other sites

  • 2 weeks later...
Может ктонибудь ответить на такой вопрос. Вопрос по пункту 3. БД и ее администратор для сервиса keystone созданы, в конфиге keystone БД указана. Для чего еще раз создавать БД и пользователя? Или это альтернативный способ создания БД? Но почему тогда ниже в комментариях говориться, что эта команда только для MySQL и например для PostgreSQL нужно использовать другую команду. Edited by tigr
Link to comment
Share on other sites

tigr, там же написано, что создаются базы и таблицы для keystone.

Потому что разработчики так решили)) там же в комментариях указано, как использовать для других бд

Link to comment
Share on other sites

bionix, Уточню вопрос. Подразумевается, если я правильно понимаю, что БД для keystone уже создана. Например, здесь сначала создаются БД, а потом уже идет команда аналогичная openstack-db (keystone-manage db_sync).

"openstack-db --init --service keystone --password KEYSTONE_DBPASS" создает какуюто новую БД или вместо "keystone" я должен вписать название БД, которую я уже создал для keystone?

[merge_posts_bbcode]Добавлено: 2014-03-31 13:44:58[/merge_posts_bbcode]

 

Если по той ссылке пустая страница, то вот:

 

Следующий шаг — создание непосредственно баз данных для хранения.

Для начала нам надо 3 базы данных, одна для nova-api, вторая — для glance, системы хранения образов, третья для keystone.

Следуем по мануалу с офф. сайта openstack:

http://docs.openstack.org/essex/openstack-compute/starter/content/Creating_Databases-d1e921.html

 

sudo mysql -uroot -pmygreatsecret -e 'CREATE DATABASE nova;'

sudo mysql -uroot -pmygreatsecret -e 'CREATE USER novadbadmin;'

sudo mysql -uroot -pmygreatsecret -e "GRANT ALL PRIVILEGES ON nova.* TO 'novadbadmin'@'%';"

sudo mysql -uroot -pmygreatsecret -e "SET PASSWORD FOR 'novadbadmin'@'%' = PASSWORD('novasecret');"

sudo mysql -uroot -pmygreatsecret -e 'CREATE DATABASE glance;'

sudo mysql -uroot -pmygreatsecret -e 'CREATE USER glancedbadmin;'

sudo mysql -uroot -pmygreatsecret -e "GRANT ALL PRIVILEGES ON glance.* TO 'glancedbadmin'@'%';"

sudo mysql -uroot -pmygreatsecret -e "SET PASSWORD FOR 'glancedbadmin'@'%' = PASSWORD('glancesecret');"

sudo mysql -uroot -pmygreatsecret -e 'CREATE DATABASE keystone;'

sudo mysql -uroot -pmygreatsecret -e 'CREATE USER keystonedbadmin;'

sudo mysql -uroot -pmygreatsecret -e "GRANT ALL PRIVILEGES ON keystone.* TO 'keystonedbadmin'@'%';"

sudo mysql -uroot -pmygreatsecret -e "SET PASSWORD FOR 'keystonedbadmin'@'%' = PASSWORD('keystonesecret');"

Вместо всяких *secret подставляем свои пароли (mygreatsecret — пароль root в mysql, который вы указывали при установке), которые будут использоваться дальше. Для удобства, хоть и в ущерб секьюрности, я задавал один и тот же пароль на все.

 

Можно не вводить все команды в *sh, а набрать mysql -uroot -p, ввести пароль и все команды выполнять непосредственно в интерпретаторе sql

 

Следующим шагом будет настройка и установка демона идентификации сервисов — keystone.

 

Устанавливаем:

 

sudo apt-get install keystone python-keystone python-keystoneclient

Для получение возможности работы с keystone надо задать специальный админский токен, а так же, чтобы обеспечить хранение данных, указать в настройках созданную для него БД.

 

Открываем /etc/keystone/keystone.conf и ищем строку «admin_token = ADMIN». В ней меняем слово ADMIN на какое-то свое слово. В соответствии с офф. Мануалом я менял ее на admin.

 

Комментируем строку

 

«connection = sqlite:////var/lib/keystone/keystone.db»

и ставим вместо нее

 

«connection = mysql://keystonedbadmin:keystonesecret@127.0.0.1/keystone»,

не забывая менять вышеприведенные логин с паролем для доступа на свои.

 

Синхронизируем базу kystone, дабы тот создал в ней свои схемы-таблицы.

 

sudo keystone-manage db_sync

 

Edited by tigr
Link to comment
Share on other sites

по-моему это все таки альтернативный способ создания БД. Потому как

# openstack-db --init --service keystone --password *****
Please enter the password for the 'root' MySQL user: 
Verified connectivity to MySQL.
Database 'keystone' already exists. Please consider first running:
/usr/bin/openstack-db --drop --service keystone

Link to comment
Share on other sites

методом тыка:

 

[root@se adm01]# mysql -uroot -p -e 'CREATE DATABASE keystone;'
Enter password: 

[root@se adm01]# mysql -uroot -p -e 'CREATE USER keystone;'
Enter password: 

[root@se adm01]# mysql -uroot -p -e "GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%';"
Enter password: 

[root@se adm01]# mysql -uroot -p -e "SET PASSWORD FOR 'keystone'@'%' = PASSWORD('pass');"
Enter password: 

[root@se adm01]# openstack-config --set /etc/keystone/keystone.conf sql connection mysql://keystone:pass@se/keystone

[root@se adm01]# openstack-db --init --service keystone --password pass
Please enter the password for the 'root' MySQL user: 
Verified connectivity to MySQL.
Database 'keystone' already exists. Please consider first running:
/usr/bin/openstack-db --drop --service keystone

[root@se adm01]# openstack-db --drop --service keystone
Please enter the password for the 'root' MySQL user: 
Verified connectivity to MySQL.
Dropping 'keystone' database.
Complete!

[root@se adm01]# openstack-db --init --service keystone --password pass
Please enter the password for the 'root' MySQL user: 
Verified connectivity to MySQL.
Creating 'keystone' database.
Updating 'keystone' database password in /etc/keystone/keystone.conf
Initializing the keystone database, please wait...
Complete!

 

т.е. базу изначально не нужно создавать?

Edited by tigr
Link to comment
Share on other sites

bionix, причём тут mysql? Это в скрипте openstack-db просто защита от дурака - если бд уже есть, то она может уже использоваться (уже содержит какие-то данные), потому новую (--init же) бд создавать нельзя и пользователю предлагается самоему разобраться с существующей бд.

openstack-db это скрипт аналог скрипта mysql_install_db, что-бы проводить инициализацю бд, в openstack видать решили сделать для пользователей mysql близкую последним схему инициализации бд.

 

 

keystone-manage db_sync - основной способ создания бд в openstack.

Link to comment
Share on other sites

Товарищи, вы меня запутали. Нужно создать базу для glance, теперь не знаю как правильно.

Давайте сначала, на примере keystone. Офф мануал:

[spoiler=пункт 2]The Identity Service uses a database to store information. Specify the location of the database in the configuration file. In this guide, we use a MySQL database on the controller node with the username keystone. Replace KEYSTONE_DBPASS with a suitable password for the database user.

 

# openstack-config --set /etc/keystone/keystone.conf \
  sql connection mysql://keystone:KEYSTONE_DBPASS@controller/keystone

 

"Укажите размещение БД в конфигурационном файле."

Т.е. БД, пользователь, привилегии, пароль уже должны быть.

 

 

[spoiler=пункт 3]Use the openstack-db command to create the database and tables, as well as a database user called keystone to connect to the database. Replace KEYSTONE_DBPASS with the same password used in the previous step.

 

# openstack-db --init --service keystone --password KEYSTONE_DBPASS

 

"Используйте команду openstack-db для создания БДи таблиц, а также пользователя БД для соединения с БД. Замените KEYSTONE_DBPASS на такой же пароль как в предыдущем шаге."

 

 

Без создания БД, пользователя итд невозможно выполнить 2й пункт и наверно глупо переходить к 3му, т.к. в конфигурационном файле не будет указано расположение БД.

Без 2го пункта невозможно выполнить (или возможно?!) 3й. Со 2ым на 3м нужно удалить БД.

Без 3го пункта не будет работать keystone.

Где логика?

[merge_posts_bbcode]Добавлено: 2014-04-03 21:31:58[/merge_posts_bbcode]

 

RNZ,

Edited by tigr
Link to comment
Share on other sites

объяснили

На 2 этапе лишь редактируется conf файл - там задается строка подключения для сервиса keystone, не более. 3й шаг - собственно, создание БД и юзера с паролем, ранее на 2м шаге указанном в файле конфигурации. В чем же тут противоречие? Просто конфиг задают раньше фактического создания БД, но до запуска сервиса этим конфигом все равно никто не воспользуется, так что не проблема.
Link to comment
Share on other sites

  • 5 months later...

В Keystone есть такие понятия как User, Role, Tenant. Не совсем понятно как они друг с другом связаны.

 

 

User:

Digital representation of a person, system, or service who uses OpenStack cloud services. The Identity Service validates that incoming requests are made by the user who claims to be making the call. Users have a login and may be assigned tokens to access resources. Users can be directly assigned to a particular tenant and behave as if they are contained in that tenant.

Тут все понятно.

 

 

 

 

Role:

A personality that a user assumes that enables them to perform a specific set of operations. A role includes a set of rights and privileges. A user assuming that role inherits those rights and privileges.

In the Identity Service, a token that is issued to a user includes the list of roles that user has. Services that are being called by that user determine how they interpret the set of roles a user has and to which operations or resources each role grants access.

Роль определяет действия, которые может выполнять пользователь. Тоже понятно.

 

 

 

 

Tenant, он же Project

A container used to group or isolate resources and/or identity objects. Depending on the service operator, a tenant may map to a customer, account, organization, or project.
Projects are organizational units in the cloud to which you can assign users. Projects are also known as tenants or accounts. Users can be members of one or more projects. Roles define which actions users can perform. You assign roles to user-project pairs.
The OpenStack Compute system is designed to be used by many different cloud computing consumers or customers, basically tenants on a shared system, using role-based access assignments. Roles control the actions that a user is allowed to perform. In the default configuration, most actions do not require a particular role, but this is configurable by the system administrator editing the appropriate policy.json file that maintains the rules. For example, a rule can be defined so that a user cannot allocate a public IP without the admin role. A user's access to particular images is limited by tenant, but the username and password are assigned per user. Key pairs granting access to an instance are enabled per user, but quotas to control resource consumption across available hardware resources are per tenant.

Арендатор определяет права доступа к ресурсам? Тогда почему это же нельзя было определять в Ролях? Как правильно на русском будет tenant?

 

 

Грубо говоря, роли и арендаторы это два типа групп, в которые могут входить юзеры?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...