Glance镜像服务组件
OpenStack部署系列文章
OpenStack Victoria版 安装部署系列教程
OpenStack Ussuri版 离线安装部署系列教程(全)
OpenStack Train版 离线安装部署系列教程(全)
欢迎留言沟通,共同进步。
官方参考链接:
OpenStack安装指南:服务组件
glance-install
OpenStack Ussuri Installation Guides
博客:
CentOS7安装OpenStack(Rocky版)-03.安装Glance镜像服务组件(控制节点)
OpenStack Train版-3.安装glance镜像服务
CSDN链接:
5Openstack-Ussuri-Glance集群部署-centos8
4控制节点-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
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版本
[root@controller ~]# python --version
-bash: python: command not found
[root@controller ~]# python3
Python 3.6.8 (default, Aug 24 2020, 17:57:11)
[GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
[root@controller ~]#
配置系统默认Python版本
[root@controller ~]# ll /usr/bin/
Display all 1507 possibilities? (y or n)
[root@controller ~]# ll /usr/bin/p
Display all 117 possibilities? (y or n)
[root@controller ~]# ll /usr/bin/py
py3-lesscpy pyroute2-cli pyrsa-encrypt-3 pyrsa-priv2pub-3 python3
pydoc-3 pyrsa-decrypt pyrsa-encrypt-bigfile pyrsa-sign python3-django-admin
pydoc3 pyrsa-decrypt-3 pyrsa-encrypt-bigfile-3 pyrsa-sign-3 python3.6
pydoc3.6 pyrsa-decrypt-bigfile pyrsa-keygen pyrsa-verify python3.6m
pyinotify pyrsa-decrypt-bigfile-3 pyrsa-keygen-3 pyrsa-verify-3 pyvenv-3
pyjwt pyrsa-encrypt pyrsa-priv2pub pyscss pyvenv-3.6
[root@controller ~]# ll /usr/bin/python3
python3 python3-django-admin python3.6 python3.6m
[root@controller ~]# ll /usr/bin/python3
python3 python3-django-admin python3.6 python3.6m
[root@controller ~]# ln -s /usr/bin/python3 /usr/bin/python
[root@controller ~]# ll /usr/bin/python
lrwxrwxrwx. 1 root root 16 Jan 28 11:40 /usr/bin/python -> /usr/bin/python3
[root@controller ~]# ll /usr/bin/python*
lrwxrwxrwx. 1 root root 16 Jan 28 11:40 /usr/bin/python -> /usr/bin/python3
lrwxrwxrwx. 1 root root 25 Jan 25 16:56 /usr/bin/python3 -> /etc/alternatives/python3
lrwxrwxrwx. 1 root root 14 Jan 25 2020 /usr/bin/python3-django-admin -> ./django-admin
lrwxrwxrwx. 1 root root 31 Nov 4 12:04 /usr/bin/python3.6 -> /usr/libexec/platform-python3.6
lrwxrwxrwx. 1 root root 32 Nov 4 12:04 /usr/bin/python3.6m -> /usr/libexec/platform-python3.6m
[root@controller ~]#
[root@controller ~]# python -V
Python 3.6.8
[root@controller ~]#
2.安装glance软件
yum install openstack-glance python3-glance python3-glanceclient -y
3.配置文件修改
(1)glance-api.conf
文件路径:/etc/glance/glance-api.conf
修改前先备份
cd /etc/glance/
cp glance-api.conf glance-api.conf.bak
vim cp glance-api.conf
[database]
# ...
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
[keystone_authtoken]
# ...
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = glance
[paste_deploy]
# ...
flavor = keystone
[glance_store]
# ...
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
grep '^[a-z]' /etc/glance/glance-api.conf
(2)glance-registry.conf
/etc/glance/glance-registry.conf
依次执行以下命令,将其写入脚本,执行脚本
cp glance-registry.conf glance-registry.conf.bak
vim glance-registry.conf
[database]
# ...
connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
[keystone_authtoken]
# ...
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = glance
[paste_deploy]
# ...
flavor = keystone
grep '^[a-z]' /etc/glance/glance-registry.conf
至此,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
wget http://download.cirros-cloud.net/0.5.0/cirros-0.5.0-x86_64-disk.img
2.加载环境变量,获取管理员权限
source admin-openrc.sh
3.上传镜像
使用qcow2磁盘格式, bare容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它
glance image-create --name "cirros-0.5.0-x86_64-disk.img" --file ./cirros-0.5.0-x86_64-disk.img --disk-format qcow2 --container-format bare --visibility public
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
实例
[root@controller ~]# source admin-openrc.sh
[root@controller ~]# glance image-create --name "cirros-0.5.0-x86_64-disk.img" --file ./cirros-0.5.0-x86_64-disk.img --disk-format qcow2 --container-format bare --visibility public
+------------------+----------------------------------------------------------------------------------+
| Property | Value |
+------------------+----------------------------------------------------------------------------------+
| checksum | 7734eb3945297adc90ddc6cebe8bb082 |
| container_format | bare |
| created_at | 2021-01-28T06:47:21Z |
| disk_format | qcow2 |
| id | 2828b53d-9337-4308-ad81-99f543fd853a |
| min_disk | 0 |
| min_ram | 0 |
| name | cirros-0.5.0-x86_64-disk.img |
| os_hash_algo | sha512 |
| os_hash_value | 3958def70c03a9734c89de42466f54c7c172e9493d5649ead0b4fee8ba8c4604742f59724a5f74f3 |
| | 21be1afcaf85a321d2f2e492539800cff51f1f9684d70c1e |
| os_hidden | False |
| owner | 12209dd390f64747974ac0ee5892c290 |
| protected | False |
| size | 16344576 |
| status | active |
| tags | [] |
| updated_at | 2021-01-28T06:47:21Z |
| virtual_size | Not available |
| visibility | public |
+------------------+----------------------------------------------------------------------------------+
[root@controller ~]#
4.查看镜像
openstack image list
[root@controller ~]# openstack image list
+--------------------------------------+------------------------------+--------+
| ID | Name | Status |
+--------------------------------------+------------------------------+--------+
| 2828b53d-9337-4308-ad81-99f543fd853a | cirros-0.5.0-x86_64-disk.img | active |
+--------------------------------------+------------------------------+--------+
至此glance镜像服务安装、启动成功。