OpenStack之Train版本部署---glance篇 (:=)

文章目录

  • 关于部署的环境
    • 环境
    • 虚拟机配置
    • 部署流程
      • 为glance创建数据库 并授权
      • **为glance服务创建OpenStack用户并创建区域端口**
      • **安装glance服务并配置api和registry配置文件**
      • **初始化glance数据库**
      • **开启服务并上传测试镜像**

关于部署的环境

环境

本次部署流程是基于测试环境部署的,实机部署可能会有所偏差,请参照生产环境自行检查。

先使用vmware workstation创建3台虚拟机(根据架构图应该是4台 但是宿主机资源有限,将存储节点和网络节点合并)

虚拟机配置

所有虚拟机 均使用以下配置 (宿主机至少拥有24g内存和6核心的英特尔处理器或者6核的AMD 4代ryzen以上)开启处理器虚拟化

控制节点ct:

处理器 2核2线程 实际上在宿主机应该是2核4线程,因为vm设置的虚拟机线程是每个核心的线程数
内存/存储 8G 300g+300g设置多个硬盘文件,不会立即分配所有空间
网卡 net:20.0.0.20(模拟公网,面向用户) vm1:192.168.100.10 (模拟局域网,面向内部服务)
操作系统 Centos7.6-1810 最小化安装(模拟生产环境)

如下:
OpenStack之Train版本部署---glance篇 (:=)_第1张图片

其他节点只需修改地址即可
c1:
ens33:20.0.0.21
ens37:192.168.100.11
c2:
ens33:20.0.0.22
ens37:192.168.100.12

部署流程

  1. 为所有主机配置网卡+运行环境
  2. 为所有主机配置基础服务(rabbitmq、mariadb、memcache、Apache)
  3. 部署keystone组件
  4. 部署Glance组件 <<<(本次介绍的位置)
  5. 部署placement组件
  6. 部署Nova组件
  7. 部署Neutron组件
  8. 部署dashboard组件
  9. 部署Cinder组件

过程太长博主会分篇介绍,本次只是glance部署

为glance创建数据库 并授权

mysql -u root -p
CREATE DATABASE glance; #创建名为glance的库
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'GLANCE_DBPASS'; #授权给本地
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'GLANCE_DBPASS'; #授权给所有网段
flush privileges;
exit

为glance服务创建OpenStack用户并创建区域端口

openstack user create --domain default --password GLANCE_PASS glance
openstack role add --project service --user glance admin
Image" image #创建OpenStack中的glance用户密码并设置其为管理员
openstack endpoint create --region RegionOne image public http://ct:9292 #为其创建在数据网络域的端口
openstack endpoint create --region RegionOne image internal http://ct:9292 #为其创建在外部网络域的端口
openstack endpoint create --region RegionOne image admin http://ct:9292 #为其创建在管理网络域的端口

安装glance服务并配置api和registry配置文件

yum -y install openstack-glance #yum安装glance
cp -a /etc/glance/glance-api.conf{
     ,.bak} #备份原配置文件模板
grep -Ev '^$|#' /etc/glance/glance-api.conf.bak > /etc/glance/glance-api.conf #输出并覆盖原配置文件中的非注销项给原文件
openstack-config --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:GLANCE_DBPASS@ct/glance
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken www_authenticate_uri http://ct:5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_url http://ct:5000
openstack-config --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers ct: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_PASS
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/
cat /etc/glance/glance-api.conf
cp -a /etc/glance/glance-registry.conf{
     ,.bak} #备份
grep -Ev '^$|#' /etc/glance/glance-registry.conf.bak > /etc/glance/glance-registry.conf #输出并覆盖原配置文件中的非注销项给原文件
openstack-config --set /etc/glance/glance-registry.conf database connection mysql+pymysql://glance:GLANCE_DBPASS@ct/glance
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken www_authenticate_uri http://ct:5000
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_url http://ct:5000
openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken memcached_servers ct: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_PASS
openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone
openstack-config --set /etc/glance/glance-registry.conf glance_store stores file,http
openstack-config --set /etc/glance/glance-registry.conf glance_store default_store file
openstack-config --set /etc/glance/glance-registry.conf glance_store filesystem_store_datadir /var/lib/glance/images/
cat /etc/glance/glance-registry.conf
[DEFAULT]
[database]
connection = mysql+pymysql://glance:GLANCE_DBPASS@ct/glance #指定数据库的类型和数据库用户名密码
[keystone_authtoken]
www_authenticate_uri = http://ct:5000 、#指定keystone的地址端口
auth_url = http://ct:5000 
memcached_servers = ct:11211 #指定token令牌缓存的地址端口
auth_type = password #访问keystone验证方式
project_domain_name = Default
user_domain_name = Default
project_name = service
username = glance
password = GLANCE_PASS
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_policy]
[paste_deploy]
flavor = keystone #token的验证方式
[profiler]
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/ #指定镜像文件存储位置

初始化glance数据库

su -s /bin/sh -c "glance-manage db_sync" glance #切换用户执行初始化
Database is synced successfully. #提示sync 表示同步成功

开启服务并上传测试镜像

systemctl enable openstack-glance-api.service #开启glance-api服务开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-glance-api.service to /usr/lib/systemd/system/openstack-glance-api.service.
systemctl start openstack-glance-api.service #开启glance-api服务
netstat -natp | grep 9292 #查看开放的端口
tcp        0      0 0.0.0.0:9292            0.0.0.0:*               LISTEN      12365/python2       
yum -y install lrzsz #安装Xshell文件传输软件
完毕!
rz -E #上传测试镜像文件
rz waiting to receive.
openstack image create --file cirros-0.3.5-x86_64-disk.img --disk-format qcow2 --container-format bare --public cirros #将镜像导入glance使其识别
+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field            | Value                                                                                                                                                                                      |
+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| checksum         | f8ab98ff5e73ebab884d80c9dc9c7290                                                                                                                                                           |
| container_format | bare                                                                                                                                                                                       |
| created_at       | 2020-12-21T12:02:59Z                                                                                                                                                                       |
| disk_format      | qcow2     #镜像格式                                                                                                                                                                                  |
| file             | /v2/images/b59d3ef0-b40d-43be-a1fa-e25039b46627/file                                                                                                                                       |
| id               | b59d3ef0-b40d-43be-a1fa-e25039b46627                                                                                                                                                       |
| min_disk         | 0                                                                                                                                                                                          |
| min_ram          | 0                                                                                                                                                                                          |
| name             | cirros                                                                                                                                                                                     |
| owner            | dcff771374df4c618c93996fdcf87dad                                                                                                                                                           |
| properties       | os_hash_algo='sha512', os_hash_value='f0fd1b50420dce4ca382ccfbb528eef3a38bbeff00b54e95e3876b9bafe7ed2d6f919ca35d9046d437c6d2d8698b1174a335fbd66035bb3edc525d2cdb187232', os_hidden='False' |
| protected        | False                                                                                                                                                                                      |
| schema           | /v2/schemas/image                                                                                                                                                                          |
| size             | 13267968                                                                                                                                                                                   |
| status           | active    #上传的状态 该状态为传输完成可以调用                                                                                                                                                                                  |
| tags             |                                                                                                                                                                                            |
| updated_at       | 2020-12-21T12:03:00Z                                                                                                                                                                       |
| virtual_size     | None                                                                                                                                                                                       |
| visibility       | public                                                                                                                                                                                     |
+------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

openstack image list #使用OpenStack命令查看镜像列表 可以看到镜像状态
+--------------------------------------+--------+--------+
| ID                                   | Name   | Status |
+--------------------------------------+--------+--------+
| b59d3ef0-b40d-43be-a1fa-e25039b46627 | cirros | active |
+--------------------------------------+--------+--------+
[root@localhost ~]# glance image-list #使用glance命令查看镜像列表 看不到镜像状态
+--------------------------------------+--------+
| ID                                   | Name   |
+--------------------------------------+--------+
| b59d3ef0-b40d-43be-a1fa-e25039b46627 | cirros |
+--------------------------------------+--------+

你可能感兴趣的:(OpenStack,openstack)