Openstack/Howto: различия между версиями

Материал из Etersoft wiki
Перейти к навигацииПерейти к поиску
Строка 97: Строка 97:
  > signing_dirname = /tmp/keystone-signing-nova
  > signing_dirname = /tmp/keystone-signing-nova


vim /etc/nova/nova.conf
> my_ip = hostname
> flat_interface = eth1 (интерфейс, связывающий виртуальные машины)
> public_interface = eth0 (публичный интерфейс сервера)
> flat_network_bridge = br100
> rabbit_virtual_host = /
> [keystone_authtoken]
> admin_tenant_name = service
> admin_user = nova
> admin_password = service_pass
  service openstack-nova-api restart
  service openstack-nova-api restart
  service openstack-nova-network restart
  service openstack-nova-network restart

Версия 13:43, 15 августа 2013

1. Установим и настроим MySQL сервер:

apt-get install MySQL-server
sed -i 's/127.0.0.1/0.0.0.0/g' /var/lib/mysql/my.cnf
service mysql restart

2. Установим RabbitMQ сервер:

apt-get install rabbitmq-server

3. Установим и настроим OpenStack Keystone сервер:

apt-get install openstack-keystone
mysql -u root -p (добавим пользователя для MySQL)
> CREATE DATABASE keystone;
> GRANT ALL ON keystone.* TO 'keystone_user'@'%' IDENTIFIED BY 'keystone_pass';
> FLUSH PRIVILEGES;
> quit;
vim /etc/keystone/keystone.conf
> admin_token = secret_token
> connection = mysql://keystone_user:keystone_pass@hostname/keystone
service openstack-keystone restart
keystone-manage db_sync

Воспользуемся скриптами настройки сервиса и отредактируем их под себя (изменим переменные $HOST_IP, $EXT_HOST_IP$ и т.д.):

wget https://raw.github.com/nimbula/OpenStack-Folsom-Install-guide/master/Keystone_Scripts/Without%20Quantum/keystone_basic.sh
wget https://raw.github.com/nimbula/OpenStack-Folsom-Install-guide/master/Keystone_Scripts/Without%20Quantum/keystone_endpoints_basic.sh
chmod +x keystone_basic.sh
chmod +x keystone_endpoints_basic.sh
./keystone_basic.sh
./keystone_endpoints_basic.sh

Добавим необходимые переменные из данных файлов в .bashrc:

export SERVICE_ENDPOINT="http://hostname:35357/v2.0"
export SERVICE_TOKEN=secret_token
export OS_NO_CACHE=1
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=admin_pass
export OS_AUTH_URL="http://hostname:5000/v2.0/"

Протестируем

apt-get install curl openssl
curl http://hostname:35357/v2.0/endpoints -H 'x-auth-token: secret_token' | python -m json.tool

4. Установим и настроим OpenStack Glance сервер:

apt-get install openstack-glance
mysql -u root -p (добавим пользователя для MySQL)
> CREATE DATABASE glance;
> GRANT ALL ON glance.* TO 'glance_user'@'%' IDENTIFIED BY 'glance_pass';
> FLUSH PRIVILEGES;
> quit;
vim /etc/glance/glance-api-paste.ini (vim etc/glance/glance-registry-paste.ini)
> [filter:authtoken]
> paste.filter_factory = keystone.middleware.auth_token:filter_factory
> auth_host = hostname
> auth_port = 35357
> auth_protocol = http
> admin_tenant_name = service
> admin_user = glance
> admin_password = service_pass
vim /etc/glance/glance-api.conf (vim /etc/glance/glance-registry.conf)
> sql_connection = mysql://glance_user:glance_pass@hostname/glance
> [paste_deploy]
> flavor = keystone
service openstack-glance-api restart
service openstack-glance-registry restart
glance-manage --db_auto_create db_sync

Протестируем:

glance index

5. Установим и настроим OpenStack Nova сервер:

apt-get install openstack-nova-api openstack-nova-compute openstack-nova-network openstack-nova-scheduer openstack-nova-console openstack-nova-cert
gpasswd -a nova wheel
groupadd qemu
gpasswd -a nova qemu

vim /etc/nova/api-paste.conf
> [filter:authtoken]
> paste.filter_factory = keystone.middleware.auth_token:filter_factory
> auth_host = hostname
> auth_port = 35357
> auth_protocol = http
> admin_tenant_name = service
> admin_user = glance
> admin_password = service_pass
> signing_dirname = /tmp/keystone-signing-nova
vim /etc/nova/nova.conf
> my_ip = hostname
> flat_interface = eth1 (интерфейс, связывающий виртуальные машины)
> public_interface = eth0 (публичный интерфейс сервера)
> flat_network_bridge = br100
> rabbit_virtual_host = /
> [keystone_authtoken]
> admin_tenant_name = service
> admin_user = nova
> admin_password = service_pass

service openstack-nova-api restart
service openstack-nova-network restart
service openstack-nova-compute restart
service openstack-nova-scheduler restart
service openstack-nova-console restart
service openstack-nova-consoleauth restart

Убедимся, что сервисы работают правильно (State - ":-)" ):

nova-manage service list