OpenStack Ussuri版安装系列—4控制节点-Glance镜像服务组件

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镜像服务安装、启动成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北观止

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值