欢迎留言讨论,期待与你共同进步掘金人的第一篇博客 - 掘金 (juejin.cn)
本系列文章包教你如何从零开始搭建一套OpenStack开发环境,涉及多个OpenStack。
当前教程中使用的OpenStack的安装版本为第20个版本Train,简称T版本。
Release Note
Train,Originally Released: 16 October, 2019
Ussuri,Originally Released: 13 May, 2020
Victoria,Originally Released: 14 October, 2020
掘金社区
掘金社区:OpenStack Train版离线部署|系列教程「全」
掘金社区:OpenStack Ussuri版离线部署|系列教程「全」
掘金社区:OpenStack Victoria版部署|系列教程「全」
OpenStack Train版离线部署|0制作本地离线yum源
OpenStack Train版离线部署|1控制节点-环境准备
OpenStack Train版离线部署|2计算节点-环境准备
OpenStack Train版离线部署|3控制节点-Keystone认证服务组件
OpenStack Train版离线部署|4控制节点-Glance镜像服务组件
OpenStack Train版离线部署|5控制节点-Placement服务组件
OpenStack Train版离线部署|6.1控制节点-Nova计算服务组件
OpenStack Train版离线部署|6.2计算节点-Nova计算服务组件
OpenStack Train版离线部署|6.3控制节点-Nova计算服务组件
OpenStack Train版离线部署|7.1控制节点-Neutron网络服务组件
OpenStack Train版离线部署|7.2计算节点-Neutron网络服务组件
OpenStack Train版离线部署|7.3控制节点-Neutron网络服务组件
OpenStack Train版离线部署|8控制节点-Horizon服务组件
OpenStack Train版离线部署|9启动一个实例
OpenStack Train版离线部署|10控制节点-Heat服务组件
OpenStack Train版离线部署|11.1控制节点-Cinder存储服务组件
OpenStack Train版离线部署|11.2存储节点-Cinder存储服务组件
OpenStack Train版离线部署|11.3控制节点-Cinder存储服务组件
OpenStack Train版离线部署|11.4计算节点-Cinder存储服务组件
OpenStack Train版离线部署|11.5实例使用-Cinder存储服务组件
掘金社区:个性化制作OpenStack镜像|系列教程
个性化制作OpenStack镜像|环境准备
个性化制作OpenStack镜像|Windows7
个性化制作OpenStack镜像|Windows10
个性化制作OpenStack镜像|Linux
个性化制作OpenStack镜像|Windows Server2019
CSDN
CSDN:OpenStack部署系列文章
OpenStack Victoria版 安装部署系列教程
OpenStack Ussuri版 离线安装部署系列教程(全)
OpenStack Train版 离线安装部署系列教程(全)
欢迎留言讨论,期待与你共同进步。
OpenStack Train版离线部署|4控制节点-Glance镜像服务组件
官方参考链接:
OpenStack安装指南:服务组件
glance-install
博客:CentOS7安装OpenStack(Rocky版)-03.安装Glance镜像服务组件(控制节点)
OpenStack Train版-3.安装glance镜像服务
在创建域、角色、域、用户的时候需要注意
一、创建glance相关数据库、凭据与API端点
1.创建glance数据库并授权
使用mysql数据库的root账户登录,密码为控制节点环境准备时初始化mysql数据设置的密码为root。
mysql -u root -proot
创建glance数据库并授权
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'glance';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance';
flush privileges;
show databases;
select user,host from mysql.user;
exit
2.创建服务凭据
(1)在keystone上创建glance用户
以下命令在local_user表创建glance用户
cd
source admin-openrc.sh
openstack user create --domain default --password=glance glance
openstack user list
(2)在keystone上将glance用户添加为service项目的admin角色(权限)
以下命令无输出
openstack role add --project service --user glance admin
(3)创建glance镜像服务的实体
以下命令在service表中增加glance项目
openstack service create --name glance --description "OpenStack Image" image
openstack service list
3.创建镜像服务的 API 端点(endpoint)
【这里会影响API的调用】
以下命令会在endpoint表增加3条项目
openstack endpoint create --region RegionOne image public http://controller:9292
openstack endpoint create --region RegionOne image internal http://controller:9292
openstack endpoint create --region RegionOne image admin http://controller:9292
查看API端点
openstack endpoint list
#
或者
openstack endpoint create --region RegionOne image public http://192.168.232.101:9292
openstack endpoint create --region RegionOne image internal http://192.168.232.101:9292
openstack endpoint create --region RegionOne image admin http://192.168.232.101:9292
查看API端点
openstack endpoint list
#
至此,glance在keystone上面注册完成,可以进行安装
二、glance相关软件安装与配置
1.检查Python版本
在安装glance前需要确认系统的Python版本
python --version
Python 2.7.5
2.安装glance软件
yum install openstack-glance python-glance python-glanceclient -y
3.配置文件修改
(1)glance-api.conf
/etc/glance/glance-api.conf
依次执行以下命令,将其写入脚本,执行脚本
cd
touch controller-node-glance-api.conf.sh
vim controller-node-glance-api.conf.sh
bash controller-node-glance-api.conf.sh
controller-node-glance-api.conf.sh文件内容
#!/bin/bash
#controller-node-glance-api.conf.sh
openstack-config --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:glance@controller/glance
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken www_authenticate_uri http://controller:5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_url http://controller:5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers controller: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 glance
openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone
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/
echo "Result of Configuration"
grep '^[a-z]' /etc/glance/glance-api.conf
bash controller-node-glance-api.conf.sh
(2)glance-registry.conf
/etc/glance/glance-registry.conf
依次执行以下命令,将其写入脚本,执行脚本
cd
touch controller-node-glance-registry.conf.sh
vim controller-node-glance-registry.conf.sh
bash controller-node-glance-registry.conf.sh
controller-node-glance-registry.conf.sh文件内容
#!/bin/bash
#controller-node-glance-registry.conf.sh
openstack-config --set /etc/glance/glance-registry.conf database connection mysql+pymysql://glance:glance@controller/glance
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken www_authenticate_uri http://controller:5000
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_url http://controller:5000
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken memcached_servers controller:11211
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_type password
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken project_domain_name Default
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken user_domain_name Default
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken project_name service
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken username glance
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken password glance
openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone
echo "Result of Configuration"
grep '^[a-z]' /etc/glance/glance-registry.conf
bash controller-node-glance-registry.conf.sh
至此,glance服务安装完毕,该服务需要启动,而后进行配置
4.同步glance数据库
(1)为glance镜像服务初始化同步数据库
生成的相关表
su -s /bin/sh -c "glance-manage db_sync" glance
忽略输出的内容,最后结果为:Database is synced successfully.
(2)同步完成进行连接测试
保证所有需要的表已经建立,否则后面可能无法进行下去
mysql -uglance -pglance -e "use glance;show tables;"
[root@controller ~]# mysql -uglance -pglance -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 |
+----------------------------------+
[root@controller ~]#
5.glance镜像服务启动并设置开机自启
systemctl start openstack-glance-api.service openstack-glance-registry.service
systemctl status openstack-glance-api.service openstack-glance-registry.service
systemctl enable openstack-glance-api.service openstack-glance-registry.service
systemctl list-unit-files |grep openstack-glance*
三、验证glance安装正确
1.下载镜像
cd
wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
wget http://download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
2.加载环境变量,获取管理员权限
source admin-openrc.sh
3.上传镜像
使用qcow2磁盘格式, bare容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它
glance image-create --name "cirros-0.4.0" --file ./cirros-0.4.0-x86_64-disk.img --disk-format qcow2 --container-format bare --visibility public
openstack image create "cirros-0.3.5" --file ./cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public
4.查看镜像
openstack image list
[root@controller ~]# openstack image list
+--------------------------------------+--------------+--------+
| ID | Name | Status |
+--------------------------------------+--------------+--------+
| 30242f87-ccdb-430d-8a2d-ed66dc9472f5 | cirros-0.3.5 | active |
| af0a9d22-ac12-4b88-adbd-58c4d9869542 | cirros-0.4.0 | active |
+--------------------------------------+--------------+--------+
[root@controller ~]#
至此glance镜像服务安装、启动成功。