部署glance
1. 部署说明
部署地点: 控制节点(ip:192.168.0.142)。
2. 创建glance数据库并授权
mysql -uroot -ploongson -e "CREATE DATABASE glance;"
mysql -uroot -ploongson -e "GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'loongson';"
mysql -uroot -ploongson -e "GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'loongson';"
3. 创建服务凭据
3.1. 在keystone上创建glance用户
以下命令在local_user表创建glance用户。
注意以下命令需要输入密码loongson。
openstack user create --domain default --password-prompt glance
3.2. 在keystone上将glance用户添加为service项目的admin角色(权限)
以下命令无输出。
openstack role add --project service --user glance admin
3.3. 创建glance镜像服务的实体
以下命令在service表中增加glance项目。
openstack service create --name glance --description "OpenStack Image" image
4. 创建镜像服务的 API 端点(endpoint)
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
5. 安装openstack-glance
yum install -y openstack-glance
6. 配置文件修改
文件路径:/etc/glance/glance-api.conf,修改前先备份。
cp /etc/glance/glance-api.conf /etc/glance/glance-api.conf.bac
crudini --set /etc/glance/glance-api.conf DEFAULT transport_url rabbit://guest:loongson@192.168.0.142:5672
crudini --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:loongson@controller:3306/glance
crudini --set /etc/glance/glance-api.conf glance_store stores file,http
crudini --set /etc/glance/glance-api.conf glance_store default_store file
crudini --set /etc/glance/glance-api.conf glance_store filesystem_store_datadir /var/lib/glance/images
crudini --set /etc/glance/glance-api.conf keystone_authtoken www_authenticate_uri http://controller:5000
crudini --set /etc/glance/glance-api.conf keystone_authtoken auth_url http://controller:5000
crudini --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers controller:11211
crudini --set /etc/glance/glance-api.conf keystone_authtoken auth_type password
crudini --set /etc/glance/glance-api.conf keystone_authtoken project_domain_name Default
crudini --set /etc/glance/glance-api.conf keystone_authtoken user_domain_name Default
crudini --set /etc/glance/glance-api.conf keystone_authtoken project_name service
crudini --set /etc/glance/glance-api.conf keystone_authtoken username glance
crudini --set /etc/glance/glance-api.conf keystone_authtoken password loongson
crudini --set /etc/glance/glance-api.conf oslo_concurrency lock_path /var/lock/glance
crudini --set /etc/glance/glance-api.conf paste_deploy flavor keystone
egrep -v "^#|^$" /etc/glance/glance-api.conf
输出信息:
#tee /etc/glance/glance-api.conf <<-'EOF'
#[DEFAULT]
#transport_url = rabbit://guest:loongson@192.168.0.142:5672
#
#[database]
#connection = mysql+pymysql://glance:loongson@controller:3306/glance
#
#[glance_store]
#stores = file,http
#default_store = file
#filesystem_store_datadir = /var/lib/glance/images
#
#[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 = loongson
#
#
#[oslo_concurrency]
#lock_path = /var/lock/glance
#
#[paste_deploy]
#flavor = keystone
#EOF
7. 同步数据库
7.1. 为glance镜像服务初始化同步数据库
生成的相关表。
su -s /bin/sh -c "glance-manage db_sync" glance
7.2. 同步完成进行连接测试
保证所有需要的表已经建立,否则后面可能无法进行下去。
mysql -uglance -ploongson -e "use glance;show tables;"
8. glance镜像服务启动并设置开机自启
systemctl enable openstack-glance-api.service
systemctl start openstack-glance-api.service
systemctl status openstack-glance-api.service
9. 验证glance操作
下载ocs镜像。
wget http://113.96.15.43/files/os/ocs/202410/OpenCloudOS-Stream-23-20241021-20241022.1944-loongarch64.qcow2
上传镜像(qcow2格式)。
glance image-create --name "loongnix" --file OpenCloudOS-Stream-23-20241021-20241022.1944-loongarch64.qcow2 --disk-format qcow2 --container-format bare --visibility=public
查看镜像。
glance image-list
上传镜像(iso格式),可选,默认为注释。
#glance image-create --name "loongnix-iso" --file livecd-loongnix-server-20-mini-loongarch64-beta8-202107120440.iso --disk-format iso --container-format bare --visibility=public