- ② OpenStack高可用集群部署方案(train版)—Key
- ① OpenStack高可用集群部署方案(train版)—基础配
- ③ OpenStack高可用集群部署方案(train版)—Gla
- ⑫ OpenStack高可用集群部署方案(train版)—Ope
- ④ OpenStack高可用集群部署方案(train版)—Pla
- ⑤ OpenStack高可用集群部署方案(train版)—Nov
- ⑨ OpenStack高可用集群部署方案(train版)—Cen
- ⑦ OpenStack高可用集群部署方案(train版)—Hor
- ⑧ OpenStack高可用集群部署方案(train版)—Cin
- ⑩ OpenStack高可用集群部署方案(train版)—Ope
十一、Glance集群部署
https://docs.openstack.org/glance/train/install/install-rdo.html
Glance 具体功能如下:
- 提供 RESTful API 让用户能够查询和获取镜像的元数据和镜像本身;
- 支持多种方式存储镜像,包括普通的文件系统、Swift、Ceph 等;
- 对实例执行快照创建新的镜像。
1. 创建glance数据库
在任意控制节点创建数据库,数据库自动同步,以controller01节点为例;
mysql -u root -p
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'Zx*****';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'Zx*****';
flush privileges;
2. 创建glance-api相关服务凭证
在任意控制节点创建数据库,以controller01节点为例;
source admin-openrc
#创建service项目
openstack project create --domain default --description "Service Project" service
#创建glance用户
openstack user create --domain default --password Zx***** glance
#将管理员admin用户添加到glance用户和项目中
openstack role add --project service --user glance admin
#创建glance服务实体
openstack service create --name glance --description "OpenStack Image" image
#创建glance-api;
openstack endpoint create --region RegionOne image public http://10.15.253.88:9292
openstack endpoint create --region RegionOne image internal http://10.15.253.88:9292
openstack endpoint create --region RegionOne image admin http://10.15.253.88:9292
#查看创建之后的api;
openstack endpoint list

3. 部署与配置glance
3.1 安装glance
在全部控制节点安装glance,以controller01节点为例
yum install openstack-glance python3-glance python3-glanceclient -y
#备份Keystone配置文件
cp /etc/glance/glance-api.conf{,.bak}
egrep -v '^$|^#' /etc/glance/glance-api.conf.bak >/etc/glance/glance-api.conf
3.2 配置glance-api.conf
注意bind_host
参数,根据不同节点修改;以controller01节点为例;
openstack-config --set /etc/glance/glance-api.conf DEFAULT bind_host 10.15.253.163
openstack-config --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:Zx*****@10.15.253.88/glance
openstack-config --set /etc/glance/glance-api.conf glance_store stores file,http
openstack-config --set /etc/glance/glance-api.conf glance_store default_store file
openstack-config --set /etc/glance/glance-api.conf glance_store filesystem_store_datadir /var/lib/glance/images/
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken www_authenticate_uri http://10.15.253.88:5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_url http://10.15.253.88:5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers controller01:11211,controller02:11211,controller03:11211
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_type password
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_domain_name Default
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken user_domain_name Default
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken project_name service
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken username glance
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken password Zx*****
openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone
将配置文件拷贝到另外两个节点:
scp -rp /etc/glance/glance-api.conf controller02:/etc/glance/glance-api.conf
scp -rp /etc/glance/glance-api.conf controller03:/etc/glance/glance-api.conf
#在controller02
openstack-config --set /etc/glance/glance-api.conf DEFAULT bind_host 10.15.253.195
#在controller03
openstack-config --set /etc/glance/glance-api.conf DEFAULT bind_host 10.15.253.227
创建镜像存储目录并赋权限;在全部控制节点创建
/var/lib/glance/images
是默认的存储目录
mkdir /var/lib/glance/images/
chown glance:nobody /var/lib/glance/images
3.3 同步glance数据库
任意控制节点操作;同步写入镜像数据库;忽略输出内容
su -s /bin/sh -c "glance-manage db_sync" glance
验证glance数据库是否正常写入
[root@controller01 ~]# mysql -uglance -pZx***** -e "use glance;show tables;"
+----------------------------------+
| Tables_in_glance |
+----------------------------------+
| alembic_version |
| image_locations |
| image_members |
| image_properties |
| image_tags |
| images |
| metadef_namespace_resource_types |
| metadef_namespaces |
| metadef_objects |
| metadef_properties |
| metadef_resource_types |
| metadef_tags |
| migrate_version |
| task_info |
| tasks |
+----------------------------------+
3.4 启动服务
全部控制节点;
systemctl enable openstack-glance-api.service
systemctl restart openstack-glance-api.service
systemctl status openstack-glance-api.service
[root@controller01 ~]# lsof -i:9292
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
glance-ap 933834 glance 3u IPv4 8918196 0t0 TCP controller01:armtechdaemon ..
glance-ap 933896 glance 3u IPv4 8918196 0t0 TCP controller01:armtechdaemon ..
glance-ap 933897 glance 3u IPv4 8918196 0t0 TCP controller01:armtechdaemon ..
haproxy 934346 haproxy 12u IPv4 8921712 0t0 TCP myvip:armtechdaemon ..
3.5 下载cirros镜像验证glance服务
在任意控制节点上;下载cirros镜像;格式指定为qcow2,bare;设置public权限;
镜像生成后,在指定的存储目录下生成以镜像id命名的镜像文件
source admin-openrc
wget -c http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-x86_64-disk.img
openstack image create --file ~/cirros-0.5.1-x86_64-disk.img --disk-format qcow2 --container-format bare --public cirros-qcow2
[root@controller01 ~]# openstack image list
+--------------------------------------+--------------+--------+
| ID | Name | Status |
+--------------------------------------+--------------+--------+
| b22a040d-bffd-4527-9f10-f9ac937a8df2 | cirros-qcow2 | active |
+--------------------------------------+--------------+--------+
3.6 添加pcs资源
在任意控制节点操作;添加资源openstack-glance-api
;
[root@controller01 ~]# pcs resource create openstack-glance-api systemd:openstack-glance-api clone interleave=true
[root@controller01 ~]# pcs resource
* vip (ocf::heartbeat:IPaddr2): Started controller03
* Clone Set: openstack-keystone-clone [openstack-keystone]:
* Started: [ controller01 controller02 controller03 ]
* Clone Set: lb-haproxy-clone [lb-haproxy]:
* Started: [ controller03 ]
* Stopped: [ controller01 controller02 ]
* Clone Set: openstack-glance-api-clone [openstack-glance-api]: #glance
* Started: [ controller01 controller02 controller03 ]
浏览器查看haproxy的web界面可以看到glance集群添加成功了

网友评论