美文网首页openstackOpenStack
③ OpenStack高可用集群部署方案(train版)—Gla

③ OpenStack高可用集群部署方案(train版)—Gla

作者: Linux丶晨星 | 来源:发表于2020-08-31 20:36 被阅读0次

十一、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集群添加成功了

相关文章

网友评论

    本文标题:③ OpenStack高可用集群部署方案(train版)—Gla

    本文链接:https://www.haomeiwen.com/subject/diupsktx.html