参考文档:https://docs.openstack.org/glance/rocky/install/

一、创建glance库

  [root@mon01 ~]# mysql -uroot -p123456

  MariaDB [(none)]>  CREATE DATABASE glance;

  MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'GLANCE_DBPASS';

  MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'GLANCE_DBPASS';

二、创建一个glance的用户

  [root@mon01 ~]# source keystone_admin

  [root@mon01 ~]# openstack user create --domain default --password=123456 glance

  #把admin role添加到glance用户和service的项目中

  [root@mon01 ~]# openstack role add --project service --user glance admin

  [root@mon01 ~]# openstack role assignment list --names  #以名称列出所有角色

三、创建一个glance的服务,类型为image

  [root@mon01 ~]# openstack service create --name glance   --description "OpenStack Image" image

四、创建image服务的API端点

  #在工作域为RegionOne,服务类型为image,网络接口为public创建API接口--公共网控制节点的地址

  [root@mon01 ~]# openstack endpoint create --region RegionOne   image public http://mon01:9292

  #创建网络接口为internal的API接口的url--内网控制节点的地址

  [root@mon01 ~]# openstack endpoint create --region RegionOne   image internal http://mon01:9292

  #创建网卡接口为admin的API接口的url--管理网的控制节点

  [root@mon01 ~]# openstack endpoint create --region RegionOne   image admin http://mon01:9292

  [root@mon01 ~]# openstack endpoint list #列出所有API端点信息

五、安装和配置glance

  [root@mon01 ~]# yum install openstack-glance -y

  •   编辑/etc/glance/glance-api.conf 
复制代码
[DEFAULT]
[cors]
[database]
connection = mysql+pymysql://glance:GLANCE_DBPASS@mon01/glance   #数据库的用户密码和节点
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/               #文件存储镜像的路径
[image_format]
[keystone_authtoken]                                             #keystone认证
www_authenticate_uri  = http://mon01:5000                        #用户认证的地址
auth_url = http://mon01:5000 #内网地址、管理网地址
memcached_servers = mon01:11211 #设置memcache的地址 auth_type = password #认证类型 project_domain_name = Default user_domain_name = Default project_name = service username = glance password = 123456 #由openstack user create创建的用户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]
复制代码
  •   编辑/etc/glance/glance-registry.conf
复制代码
[DEFAULT]
[database]
connection = mysql+pymysql://glance:GLANCE_DBPASS@mon01/glance
[keystone_authtoken]
www_authenticate_uri = http://mon01:5000
auth_url = http://mon01:5000
memcached_servers = mon01:11211 auth_type = password project_domain_name = Default user_domain_name = Default project_name = service username = glance password = 123456 [matchmaker_redis] [oslo_messaging_amqp] [oslo_messaging_kafka] [oslo_messaging_notifications] [oslo_messaging_rabbit] [oslo_messaging_zmq] [oslo_policy] [paste_deploy] flavor = keystone [profiler]
复制代码
  •   写入数据库

  [root@mon01 ~]# su -s /bin/sh -c "glance-manage db_sync" glance

  #可以登录数据库查看glance库下时候有相应的表

六、设置开机自启动

  [root@mon01 ~]# systemctl enable openstack-glance-api.service   openstack-glance-registry.service

  [root@mon01 ~]# systemctl start openstack-glance-api.service   openstack-glance-registry.service

 七、上传镜像

  网上下载此镜像:wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img

  使用自制的镜像kvm04.qcow2(用KVM虚拟化一个虚拟机)

  [root@mon01 ~]# openstack image create "kvm04"   --file kvm04.qcow2   --disk-format qcow2 --container-format bare   --public

  [root@mon01 ~]# openstack image list   或者 glance image-list