在控制節點(192.168.0.100)上安裝mysql和keystone(實現用戶認證和受權,全部服務的信息庫)python
yum -y install mysql mysql-servermysql
service mysqld restartsql
yum安裝openstack,須要有openstack yum源數據庫
rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpmswift
yum clean allvim
yum updateapi
安裝keystonecurl
yum -y install openstack-utils openstack-keystone python-keystoneclientide
爲keystone建立數據庫和用戶(用戶名和密碼:keystone)測試
openstack-db --init --service keystone --pass keystone
爲keystone用戶賦予權限
grant all on keystone.* to keystone@localhost identified by 'keystone';
grant all on keystone.* to keystone@'%' identified by 'keystone';
flush privileges;
編譯配置文件時keystone鏈接數據庫(實現認證)
vim /etc/keystone/keystone.conf
[sql]
connection = mysql://keystone:keystone@192.168.253.139/keystone
配置keystone管理token(令牌,認證信息)能夠經過配置keystone的客戶端使用SERVICE_TOKEN和SERVICE_ENDPOINT環境變量來鏈接至keystone
export SERVICE_TOKEN=$(openssl rand -hex 10)
export SERVICE_ENDPOINT=http://192.168.0.100:35357/v2.0
echo $SERVICE_TOKEN > ~/ks_admin_token
openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token $SERVICE_TOKEN
啓動服務
service openstack-keystone start
chkconfig openstack-keystone on
查看服務啓動的相關信息
ps auxf | grep -i keystone-all
查看日誌是否記錄錯誤信息
cat /var/log/keystone/keystone.log
建立keystone服務
初始化keystone數據庫
keystone-manage db_sync
建立service
keystone service-create --name=keystone --type=identity --description="Keystone Identity Service"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | Keystone Identity Service |
| id | 8762a143609040718f6e7e39b554cbd0 |
| name | keystone |
| type | identity |
+-------------+----------------------------------+
根據service_id,建立endpoint
keystone endpoint-create --service-id 8762a143609040718f6e7e39b554cbd0 --publicurl 'http://192.168.0.100:5000/v2.0' --adminurl 'http://192.168.0.100:35357/v2.0' --internalurl 'http://192.168.0.100:5000/v2.0'
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| adminurl | http://192.168.0.100:35357/v2.0 |
| id | 7aa22e0b287f47fe85857d20f1153e41 |
| internalurl | http://192.168.0.100:5000/v2.0 |
| publicurl | http://192.168.0.100:5000/v2.0 |
| region | regionOne |
| service_id | 8762a143609040718f6e7e39b554cbd0 |
+-------------+----------------------------------+
建立管理tenant
建立管理tenant
keystone tenant-create --name admin --description "Admin Tenant"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | Admin Tenant |
| enabled | True |
| id | 3973842ebd5f4ce5b8594e2799aeacb4 |
| name | admin |
+-------------+----------------------------------+
建立管理用戶admin
keystone user-create --tenant-id 3973842ebd5f4ce5b8594e2799aeacb4 --name admin --pass admin --email admin@magedu.com
+----------+-------------------------------------------------------------------------------------------------------------------------+
| Property | Value |
+----------+-------------------------------------------------------------------------------------------------------------------------+
| email | admin@magedu.com |
| enabled | True |
| id | 0fc635bcf2fa404fb3f5901995e989d1 |
| name | admin |
| password | $6$rounds=40000$4B6Y1b1LeJ.ljMhK$tcLIpw8GWIYubyjsk5C8/06E2voUayfouCs/APqKxZg5hC/Wt0oB/N8tqy22A50aZ8I74T6sPg3J.cXqMHeoG0 |
| tenantId | 3973842ebd5f4ce5b8594e2799aeacb4 |
+----------+-------------------------------------------------------------------------------------------------------------------------+
建立管理角色
keystone role-create --name admin
+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
| id | 93a6505e22264c2eb9f260bf183fe1a2 |
| name | admin |
+----------+----------------------------------+
爲用戶賦予角色(權限)
keystone user-role-add --tenant-id 3973842ebd5f4ce5b8594e2799aeacb4 --user-id 0fc635bcf2fa404fb3f5901995e989d1 --role-id 93a6505e22264c2eb9f260bf183fe1a2
爲admin用戶啓用基於credential的用戶認證,爲了方便保存至~/.keystonerc_admin
export OS_USERNAME=admin
export OS_TENANT_NAME=admin
export OS_PASSWORD=admin
export OS_AUTH_URL=http://192.168.0.100:35357/v2.0/
export PS1='[\u@\h \W(keystone_admin)]\$ '
source .keystonerc_admin
註銷基於token的認證時建立的環境變量,禁用admin使用token認證
unset SERVICE_TOKEN
unset SERVICE_ENDPOINT
驗證新認證的機制是否有效
keystone user-list
建立服務tenant
建立服務tenant
keystone tenant-create --name service --description "Service Tenant"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | Service Tenant |
| enabled | True |
| id | 9d018a23562045fd98a3217f690fc49c |
| name | service |
+-------------+----------------------------------+
建立服務用戶nova、glance、swift,賦予role(admin權限)
keystone user-create --tenant-id 9d018a23562045fd98a3217f690fc49c --name nova --pass nova --email nova@magedu.com
+----------+-------------------------------------------------------------------------------------------------------------------------+
| Property | Value |
+----------+-------------------------------------------------------------------------------------------------------------------------+
| email | nova@magedu.com |
| enabled | True |
| id | 6ae65fd8f0934a38bd5946acd7cba8b0 |
| name | nova |
| password | $6$rounds=40000$DkyO8LOK95H8Io3W$hknz7C0OcsSnhZUQXH7MN6pfI9.IKCHfdQp4tpHxnjqUX.CqaiwyeCr8.1lmwzm04ZV1t8aCvVnppa9GLWQGw1 |
| tenantId | 9d018a23562045fd98a3217f690fc49c |
+----------+-------------------------------------------------------------------------------------------------------------------------+
keystone user-role-add --tenant-id 9d018a23562045fd98a3217f690fc49c --user-id 6ae65fd8f0934a38bd5946acd7cba8b0 --role-id 93a6505e22264c2eb9f260bf183fe1a2
keystone user-create --tenant-id 9d018a23562045fd98a3217f690fc49c --name glance --pass glance --email glance@magedu.com
+----------+-------------------------------------------------------------------------------------------------------------------------+
| Property | Value |
+----------+-------------------------------------------------------------------------------------------------------------------------+
| email | glance@magedu.com |
| enabled | True |
| id | 45b8643a8c02402082f9fbad52e4ce41 |
| name | glance |
| password | $6$rounds=40000$jez9tMwdalrtAaee$XZWyGNDv4uht52XauMSuzOpKLlMjOfoZSgxL5Qi/L0Q5FhJFOjnBzsSSdncJxwnKGkUih0uKAk7YFM1JTK4sT/ |
| tenantId | 9d018a23562045fd98a3217f690fc49c |
+----------+-------------------------------------------------------------------------------------------------------------------------+
keystone user-role-add --tenant-id 9d018a23562045fd98a3217f690fc49c --user-id 45b8643a8c02402082f9fbad52e4ce41 --role-id 93a6505e22264c2eb9f260bf183fe1a2
keystone user-create --tenant-id 9d018a23562045fd98a3217f690fc49c --name swift --pass swift --email swift@magedu.com
+----------+-------------------------------------------------------------------------------------------------------------------------+
| Property | Value |
+----------+-------------------------------------------------------------------------------------------------------------------------+
| email | swift@magedu.com |
| enabled | True |
| id | bf03a5b9be924a0084fe148375f1a187 |
| name | swift |
| password | $6$rounds=40000$gBwzo6bbZ37A95IK$xa5eNbEL2gSfna9ayZtw6FEXBlqeco2WOnsHTeAJ05K02u6.L7b8AdPX5gmIDhH7HxG/bFPSqTBISJKsTfc55/ |
| tenantId | 9d018a23562045fd98a3217f690fc49c |
+----------+-------------------------------------------------------------------------------------------------------------------------+
keystone user-role-add --tenant-id 9d018a23562045fd98a3217f690fc49c --user-id bf03a5b9be924a0084fe148375f1a187 --role-id 93a6505e22264c2eb9f260bf183fe1a2
安裝配置glance服務
安裝相關軟件包
yum -y install openstack-glance
初始化glance數據庫,建立其服務同名的用戶、密碼
openstack-db --init --service glance --password glance
賦予glance用戶訪問的權限
grant all privileges on glance.* to glance@'localhost' identified by 'glance';
grant all privileges on glance.* to glance@'%' identified by 'glance';
配置glance-api
vim /etc/glance/glance-api.conf
enable_v1_api = True
enable_v2_api = True
[keystone_authtoken]
auth_host = 192.168.253.139
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = glance
[paste_deploy]
config_file = /etc/glance/glance-api-paste.ini
flavor=keystone
數據庫鏈接設置
sql_connection = mysql://glance:glance@192.168.253.139/glance
glance默認類型爲files
配置glance-registry.conf
[keystone_authtoken]
auth_host =192.168.253.139
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = glance
[paste_deploy]
config_file = /etc/glance/glance-registry-paste.ini
flavor=keystone
啓動glance中的glance-api和glance-registry服務
service openstack-glance-api restart
chkconfig openstack-glance-api on
service openstack-glance-registry start
chkconfig openstack-glance-registry on
在keystone上註冊glance服務
keystone service-create --name=glance --type=
p_w_picpath --description="Glance Image Service"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | Glance Image Service |
| id | 95db6da586044cd6b6549627757331ce |
| name | glance |
| type | p_w_picpath |
+-------------+----------------------------------+
爲glance服務增長端點
keystone endpoint-create --service-id 95db6da586044cd6b6549627757331ce --publicurl http://192.168.0.100:9292 --adminurl http://192.168.0.100:9292 --internal http://192.168.0.100:9292
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| adminurl | http://192.168.0.100:9292 |
| id | 7942c495099d488398f65fb4bb7bad64 |
| internalurl | http://192.168.0.100:9292 |
| publicurl | http://192.168.0.100:9292 |
| region | regionOne |
| service_id | 95db6da586044cd6b6549627757331ce |
+-------------+----------------------------------+
測試glance服務
glance p_w_picpath-list 沒有返回值
p_w_picpath服務管理
glance p_w_picpath-update用於修改已經完成更新的映像的屬性信息
glance p_w_picpath-create命令用於添加新的虛擬機映像至glance中,參數--name、--container_format、--disk_format。--disk_format用於指明磁盤映像文件的格式,包括raw、qcow二、vhd、vmdk、iso等
映像文件:wget https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img
wget https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-i386-disk.img
查看映像文件信息
yum -y install qemu*
qemu-img info /tmp/cirros-0.3.0-i386-disk.img
上傳映像文件
glance p_w_picpath-create --name=cirros-0.3.0-i386 --disk-format=qcow2 --container-format=bare < /tmp/cirros-0.3.0-i386-disk.img
+------------------+--------------------------------------+
| Property | Value |
+------------------+--------------------------------------+
| checksum | 90169ba6f09b5906a7f0755bd00bf2c3 |
| container_format | bare |
| created_at | 2014-03-03T15:26:24 |
| deleted | False |
| deleted_at | None |
| disk_format | qcow2 |
| id | b8964ced-5702-4be1-9644-32b14d9ebc25 |
| is_public | False |
| min_disk | 0 |
| min_ram | 0 |
| name | cirros-0.3.0-i386 |
| owner | 3973842ebd5f4ce5b8594e2799aeacb4 |
| protected | False |
| size | 9159168 |
| status | active |
| updated_at | 2014-03-03T15:26:24 |
+------------------+--------------------------------------+
glance p_w_picpath-create --name=cirros-0.3.0-x86_64 --disk-format=qcow2 --container-format=bare < /tmp/cirros-0.3.0-x86_64-disk.img
+------------------+--------------------------------------+
| Property | Value |
+------------------+--------------------------------------+
| checksum | 50bdc35edb03a38d91b1b071afb20a3c |
| container_format | bare |
| created_at | 2014-03-03T15:27:03 |
| deleted | False |
| deleted_at | None |
| disk_format | qcow2 |
| id | edc31b1b-d3bf-4c76-885c-1f56a9eee3bc |
| is_public | False |
| min_disk | 0 |
| min_ram | 0 |
| name | cirros-0.3.0-x86_64 |
| owner | 3973842ebd5f4ce5b8594e2799aeacb4 |
| protected | False |
| size | 9761280 |
| status | active |
| updated_at | 2014-03-03T15:27:03 |
+------------------+--------------------------------------+
列出上傳的映像文件
glance index 或者glance p_w_picpath-list