映象服務image service(glance)的安裝還是在控制節點上進行:
1、前提條件,資料庫為glance建立庫和賬戶密碼來連線資料庫
# mysql -u root -p MariaDB [(none)]> CREATE DATABASE glance; MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'glance'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%'IDENTIFIED BY 'glance';
2、在為glance在keystone上建立使用者專案等時,需要先連線keystone,這裡使用keystone的admin賬號來登入
# source admin-openrc
然後在建立glance使用者:
# openstack user create --domain default --password-prompt glance
輸入密碼:glance
將admin角色新增到glance使用者和service專案中:
# openstack role add --project service --user glance admin
為glance建立服務實體:
# openstack service create --name glance --description "OpenStack Image" image
為映象服務建立API endpoints:
# openstack endpoint create --region RegionOne image public http://192.168.101.10:9292 # openstack endpoint create --region RegionOne image internal http://192.168.101.10:9292 # openstack endpoint create --region RegionOne image admin http://192.168.101.10:9292
安裝和配置glance:
# yum install openstack-glance
修改配置檔案:/etc/glance/glance-api.conf,在[database]部分:
connection = mysql+pymysql://glance:glance@192.168.101.10/glance
在[keystone_authtoken]和[paste_deploy]分別做如下設定:
[keystone_authtoken] auth_uri = http://192.168.101.10:5000 auth_url = http://192.168.101.10:35357 memcached_servers = 192.168.101.10:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = glance password = glance [paste_deploy] flavor = keystone
在[glance_store]部分設定一個本地檔案系統用來儲存本地映象:
[glance_store] stores = file,http default_store = file filesystem_store_datadir = /var/lib/glance/images/
修改配置檔案:/etc/glance/glance-registry.conf,在[database]配置資料庫的連線:
connection = mysql+pymysql://glance:glance@192.168.101.10/glance
在[keystone_authtoken]和[paste_deploy]配置如下內容:
[keystone_authtoken] auth_uri = http://192.168.101.10:5000 auth_url = http://192.168.101.10:35357 memcached_servers = 192.168.101.10:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = glance password = glance [paste_deploy] flavor = keystone
向glance庫匯入填充資料:
# su -s /bin/sh -c "glance-manage db_sync" glance
Ignore any deprecation messages in this output.
驗證glance是否有table?
最後開啟glance服務:
# systemctl enable openstack-glance-api.service openstack-glance-registry.service # systemctl start openstack-glance-api.service openstack-glance-registry.service
校驗glance:校驗image service是否安裝成功?
# source admin-openrc # wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img # openstack image create "cirros" --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public
上傳映象到映象服務上,使用格式qcow2磁碟格式,許可權為public,所有的專案都能訪問它
# openstack image list 檢視映象列表
至此glance的image service元件安裝成功
貼出glance兩個配置檔案的配置:
1、/etc/glance/glance-api.conf
[root@node1 ~]# egrep -v "^$|^#" /etc/glance/glance-api.conf [DEFAULT] [cors] [database] connection = mysql+pymysql://glance:glance@192.168.101.10/glance [glance_store] stores = file,http default_store = file filesystem_store_datadir = /var/lib/glance/images/ [image_format] [keystone_authtoken] auth_uri = http://192.168.101.10:5000 auth_url = http://192.168.101.10:35357 memcached_servers = 192.168.101.10:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = glance password = glance [matchmaker_redis] [oslo_concurrency] [oslo_messaging_amqp] [oslo_messaging_kafka] [oslo_messaging_notifications] [oslo_messaging_rabbit] [oslo_messaging_zmq] [oslo_middleware] [oslo_policy] [paste_deploy] flavor = keystone [profiler] [store_type_location_strategy] [task] [taskflow_executor]
2、配置檔案/etc/glance/glance-registry.conf
[root@node1 ~]# egrep -v "^$|^#" /etc/glance/glance-registry.conf [DEFAULT] [database] connection = mysql+pymysql://glance:glance@192.168.101.10/glance [keystone_authtoken] auth_uri = http://192.168.101.10:5000 auth_url = http://192.168.101.10:35357 memcached_servers = 192.168.101.10:11211 auth_type = password project_domain_name = default user_domain_name = default project_name = service username = glance password = glance [matchmaker_redis] [oslo_messaging_amqp] [oslo_messaging_kafka] [oslo_messaging_notifications] [oslo_messaging_rabbit] [oslo_messaging_zmq] [oslo_policy] [paste_deploy] flavor = keystone [profiler]