安装openstack-glance服务
查看用户和用户组,发现都多了glance
,如果发现进入数据库打不开,重启mysql服务
进入数据库,创建glance数据库
给本地用户授权
给远程用户授权
本地用户登陆自检
远程用户登陆自检
给配置文件做一下备份,防止忘记
进行过滤,开头所有为空行和井号所有的行
修改配置文件
1
glance数据初始化
切换到glance用户对glance进行数据初始化
查看glance 数据库的结构
退出数据库,运行环境变量
为openstack创建一个用户default还是所属域
为用户添加一个角色,添加一个对project项目的权限集合,为admin角色
为glance创建一个对外的服务,填写服务器的名称服务器的类型image为镜像类型
创建该服务的三个端点
添加admin用户使用的端点
添加组件用户间相互访问的端点
添加一般用户,其他用户访问的端点(public)
下面我们用catalog操作列出
设置服务开机自启
查看端口状态
镜像资源
通过网盘分享的文件:cirros-0.5.1-x86_64-disk.img
链接: https://pan.baidu.com/s/1lpNxwF5CmlRpeEecrTGcwA?pwd=dmcd 提取码: dmcd
--来自百度网盘超级会员v3的分享
Glance制作镜像,首先我们把镜像拖进来
之后进行镜像挂载
我们进行查看,发现镜像已经成功挂载
自检操作
脚本
#!/bin/bash
# 脚本用途:自动化部署OpenStack Glance服务
# 运行环境:CentOS 7.x,已配置好基础环境(如yum源、网络、Keystone等)
# 注意:需以root用户执行,确保MariaDB已安装并运行
# ======================================
# 1. 安装Glance服务及依赖
# ======================================
yum install openstack-glance -y
cat /etc/passwd |grep glance
cat /etc/group |grep glance
# ======================================
# 2. 配置MariaDB数据库
# ======================================
# 重启数据库服务(确保服务运行)
systemctl restart mariadb
systemctl enable mariadb # 可选:设置开机启动
# 创建Glance数据库及用户
mysql -uroot -p000000 -e "CREATE DATABASE glance;"
mysql -uroot -p000000 -e "GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '000000';"
mysql -uroot -p000000 -e "GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '000000';"
测试
mysql -uglance -p000000
show databases;
quit
mysql -uglance -p000000 -h192.168.10.10
show databases;
quit
# ======================================
# 3. 配置Glance服务(重点修改glance-api.conf)
# ======================================
# 备份原始配置文件
cp /etc/glance/glance-api.conf /etc/glance/glance-api.conf.bak
grep -Ev '^$|#' /etc/glance/glance-api.conf.bak > /etc/glance/glance-api.conf
# 写入新配置(使用sed批量替换,需确保格式正确)
cat > /etc/glance/glance-api.conf <<EOF
[DEFAULT]
[database]
connection=mysql+pymysql://glance:000000@controller/glance
[keystone_authtoken]
memcached_servers=controller:11211
auth_url=http://controller:5000/v3
auth_type=password
username=glance
password=000000
user_domain_name=Default
project_name=project
project_domain_name=Default
[glance_store]
stores=file
default_store=file
filesystem_store_datadir=/var/lib/glance/images
[paste_deploy]
flavor=keystone
EOF
# ======================================
# 4. 初始化Glance数据库
# ======================================
su glance -s /bin/sh -c "glance-manage db sync"
测试数据库
mysql -uglance -p000000
show databases;
use glance;
show tables;
quit
# ======================================
# 5. 配置OpenStack用户及服务端点
# ======================================
# 创建Glance服务用户(需确保Keystone已配置)
. admin-login
openstack user create --domain default --password 000000 glance
openstack role add --project project --user glance admin
# 注册Glance服务到服务目录
openstack service create --name glance image
# 创建服务端点(内部、公共、管理接口)
openstack endpoint create --region RegionOne glance internal http://controller:9292
openstack endpoint create --region RegionOne glance public http://controller:9292
openstack endpoint create --region RegionOne glance admin http://controller:9292
openstack catalog list
# ======================================
# 6. 启动Glance服务并验证
# ======================================
# 启动服务(根据实际服务名称调整,可能为openstack-glance-api)
systemctl start openstack-glance-api
systemctl enable openstack-glance-api # 可选:设置开机启动
# 检查服务端口监听(9292端口应处于监听状态)
netstat -nutlp | grep 9292
# ======================================
# 7. 附加验证步骤(可选,非自动化必需)
# ======================================
# 验证数据库表是否创建(需手动输入密码或脚本中添加交互)
# mysql -uglance -p000000 -e "USE glance; SHOW TABLES;"
echo "Glance服务部署完成!"
#8.制作镜像
source admin-login
openstack image create --file cirros-0.5.1-x86_64-disk.img --disk-format qcow2 --container-format bare --public cirros
openstack image list
ll /var/lib/glance/images/
脚本运行结果,
脚本可以直接复制粘贴,也可以直接运行
Cat /etc/passwd |grep glance
Cat /etc/group |grep glance
制作镜像
openstack image creat --file cirros-0.5.1-x86_64-disk.img --disk-format qcow2 --container-format bare --public cirros