仅在控制节点安装
安装Glance软件包
yum -y install openstack-glance
在安装“openstack-glance”软件包的时候,会自动在CentOS Linux中生成一个名为“glance”的用户和同名用户组
查看用户信息
查看用户组信息
cat /etc/passwd | grep glance
cat /etc/group | grep glance
创建Glance的数据库并授权
进入MariaDB数据库
mysql -uroot -p000000
新建“glance”数据库
后两条是给用户授权使用新建数据库
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '000000';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '000000';
quit退出数据库
修改Glance配置文件
备份配置文件
去掉所有注释和空行,生成新的配置文件
这里的正则表达式“^$|#”的具体含义为:匹配空行(“^$”,其中“^”是一行的开头,“$”是一行的结尾),或者(符号“|”表示或者)匹配第一个字符为“#”的行。结合反向匹配参数“-v”,最终匹配的是所有不为空和不以注释符号“#”开头的行
cp /etc/glance/glance-api.conf /etc/glance/glance-api.bak
grep -Ev '^$|#' /etc/glance/glance-api.bak > /etc/glance/glance-api.conf
vi /etc/glance/glance-api.conf
可以选择直接删掉这个文件再创建(注意路径、文件名)将我的直接复制进去
[DEFAULT]
[cinder]
[cors]
[database]
connection = mysql+pymysql://glance:000000@controller/glance
[file]
[glance.store.http.store]
[glance.store.rbd.store]
[glance.store.sheepdog.store]
[glance.store.swift.store]
[glance.store.vmware_datastore.store]
[glance_store]
stores = file
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
[image_format]
[keystone_authtoken]
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
username = glance
password = 000000
project_name = project
user_domain_name = Default
project_domain_name = Default
[oslo_concurrency]
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_middleware]
[oslo_policy]
[paste_deploy]
flavor = keystone
[profiler]
[store_type_location_strategy]
[task]
[taskflow_executor]
如果选择自己修改 这是修改的部分
修改“[database]”部分,实现与数据库连接。
connection = mysql+pymysql://glance:000000@controller/glance
修改“[keystone_authtoken]”和“[paste_deploy]”部分,实现与Keystone交互。 [keystone_authtoken]
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
username = glance
password = 000000
project_name = project
user_domain_name = Default
project_domain_name = Default
[paste_deploy]
flavor = keystone
修改“[glance_store]”部分,指定后端存储系统。
[glance_store] stores = file default_store = file #默认存储系统为本地文件系统
filesystem_store_datadir = /var/lib/glance/images/ #镜像文件实际存储的目录
/var/lib/glance/”文件夹是在安装Glance的时候自动生成的,“glance”用户具有该文件夹的完全操作权限,请不要随意将其更改为其他“glance”用户没有权限的目录
初始化Glance的数据库
将数据同步导入数据库中
su glance -s /bin/sh -c "glance-manage db_sync"
“su glance”:su命令用于用户切换。这里切换到“glance”用户,该用户已经拥有对“glance”数据库的管理权限。 “-s /bin/sh”:-s为su命令的选项,指定用什么编译器(Shell)来执行命令,“/bin/sh”就是指定的编译器。 “-c”:su命令的选项,在其后引号内的是具体执行的命令。"glance-manage db_sync" 实现了数据同步到数据库。
这一步会有 大量返回信息,如果有 Warning 提示,不必害怕。最后一行会提示
创建Glance用户并分配角色
. admin-login
openstack user create --domain default --password 000000 glance
openstack role add --project project --user glance admin
导入环境变量模拟登录
在OpenStack云计算平台中创建用户“glance”
给用户“glance”分配“admin”角色
创建Glance服务及端点
openstack service create --name glance image
openstack endpoint create --region RegionOne glance public http://controller:9292
openstack endpoint create --region RegionOne glance internal http://controller:9292
openstack endpoint create --region RegionOne glance admin http://controller:9292
创建名为“glance”、类型为“image”的服务,下面的三条命令创建镜像服务端点
创建公众用户访问的服务端点
创建内部组件访问的服务端点
创建Admin用户访问端点
OpenStack组件的服务端点有3种,分别对应Admin用户(admin)、内部组件(internal)、公众用户(public)服务的地址。
启动Glance服务
systemctl start openstack-glance-api
systemctl enable openstack-glance-api
由于Glance服务要占用9292端口,查看9292端口的状态就可以判断服务是否运行,也可以通过systemctl status命令查看服务的运行状态
netstat -tnlup|grep 9292
systemctl status openstack-glance-api
当结果出现“activie(running)”时说明该服务正处于运行状态
用Glance制作镜像
CirrOS是一种很小的Linux操作系统,仅有十几兆字节大小,这里Glance将用它来制作一个镜像
将 cirros-0.5.1-x86_64-disk.img 镜像上传到 /root 目录下
制作镜像
查看镜像
openstack image create --file cirros-0.5.1-x86_64-disk.img --disk-format qcow2 --container-format bare --public cirros
openstack image list
第一条命令执行一会后会返回一个很大的表格,图片是第二条命令 查看镜像