2.OpenStack Placement 镜像服务简介及实现
官网文档:https://docs.openstack.org/glance/train/install/install-rdo.html
镜像:https://docs.openstack.org/image-guide/obtain-images.html
创建共享存储,实现镜像共享
1. 安装nfs-server
# yum install -y nfs-utils
2. 配置共享存储 /etc/exports
/data/glance/images/ *(rw,sync,no_root_squash)
3. 验证
]# exportfs -rv
exporting *:/data/glance
4. 挂载/etc/fstab
192.168.64.110:/data/glance/images /var/lib/glance/images nfs defaults,_netdev 0 0
安装和配置镜像服务之前,你必须创建创建一个数据库、服务凭证和API端点。
-
完成下面的步骤以创建数据库:
-
用数据库连接客户端以 root 用户连接到数据库服务器:
$ mysql -u root -p
创建 glance 数据库:
-
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';
用一个合适的密码替换 GLANCE_DBPASS。
-
退出数据库客户端。
-
-
获得 admin 凭证来获取只有管理员能执行的命令的访问权限:
$ . admin-openrc
-
要创建服务证书,完成这些步骤:
-
创建 glance 用户:
$ openstack user create --domain default --password-prompt glance User Password: Repeat User Password: +-----------+----------------------------------+ | Field | Value | +-----------+----------------------------------+ | domain_id | e0353a670a9e496da891347c589539e9 | | enabled | True | | id | e38230eeff474607805b596c91fa15d9 | | name | glance | +-----------+----------------------------------+
添加 admin 角色到 glance 用户和 service 项目上。
-
$ openstack role add --project service --user glance admin
创建``glance`` service服务:
$ openstack service create --name glance \ --description "OpenStack Image" image +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Image | | enabled | True | | id | 8c2c7f1b9b5049ea9e63757b5533e6d2 | | name | glance | | type | image | +-------------+----------------------------------+
创建镜像服务的 API endpoint
安全并配置组件$ openstack endpoint create --region RegionOne \ image public http://controller:9292 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 340be3625e9b4239a6415d034e98aace | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 | | service_name | glance | | service_type | image | | url | http://controller:9292 | +--------------+----------------------------------+ $ openstack endpoint create --region RegionOne \ image internal http://controller:9292 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | a6e4b153c2ae4c919eccfdbb7dceb5d2 | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 | | service_name | glance | | service_type | image | | url | http://controller:9292 | +--------------+----------------------------------+ $ openstack endpoint create --region RegionOne \ image admin http://controller:9292 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 0c37ed58103f4300a84ff125a539032d | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 8c2c7f1b9b5049ea9e63757b5533e6d2 | | service_name | glance | | service_type | image | | url | http://controller:9292 | +--------------+----------------------------------+
# yum install openstack-glance
编辑文件 /etc/glance/glance-api.conf 并完成如下动作:
-
在 [database] 部分,配置数据库访问:
[glance_store] # ... stores = file,http default_store = file filesystem_store_datadir = /var/lib/glance/images/
将``GLANCE_DBPASS`` 替换为你为镜像服务选择的密码。
-
在 [keystone_authtoken] 和 [paste_deploy] 部分,配置认证服务访问:
[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_PASS [paste_deploy] # ... flavor = keystone
将 GLANCE_PASS 替换为你为认证服务中你为 glance 用户选择的密码。
在该[glance_store]
部分中,配置本地文件系统存储和图像文件的位置:-
-
[glance_store] # ... stores = file,http default_store = file filesystem_store_datadir = /var/lib/glance/images/
-
-
填充图像服务数据库:
# su -s /bin/sh -c "glance-manage db_sync" glance
修改权限
# chown -R glance:glance /data/glance/
# mount -a验证权限,配置文件配置的/var/lib/glance/images/权限一定要是glance,否则报错
# ll /var/lib/glance/images/ -d drwxr-xr-x 2 glance glance 4096 Jul 31 21:29 /var/lib/glance/images/
起服务
# systemctl enable openstack-glance-api.service # systemctl start openstack-glance-api.service
查日志
]# tail -f /var/log/glance/api.log ). Its value may be silently ignored in the future. 2022-07-31 21:34:15.203 56505 INFO glance.common.wsgi [-] Starting 4 workers 2022-07-31 21:34:15.205 56505 INFO glance.common.wsgi [-] Started child 56517 2022-07-31 21:34:15.208 56517 INFO eventlet.wsgi.server [-] (56517) wsgi starting up on http://0.0.0.0:9292 2022-07-31 21:34:15.210 56505 INFO glance.common.wsgi [-] Started child 56518 2022-07-31 21:34:15.213 56518 INFO eventlet.wsgi.server [-] (56518) wsgi starting up on http://0.0.0.0:9292 2022-07-31 21:34:15.215 56505 INFO glance.common.wsgi [-] Started child 56519 2022-07-31 21:34:15.217 56519 INFO eventlet.wsgi.server [-] (56519) wsgi starting up on http://0.0.0.0:9292 2022-07-31 21:34:15.220 56505 INFO glance.common.wsgi [-] Started child 56520 2022-07-31 21:34:15.223 56520 INFO eventlet.wsgi.server [-] (56520) wsgi starting up on http://0.0.0.0:9292
验证操作
# wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
]# glance image-create --name "cirros" --file cirros-0.4.0-x86_64-disk.img --disk-format qcow2 --container-format bare --visibility public +------------------+----------------------------------------------------------------------------------+ | Property | Value | +------------------+----------------------------------------------------------------------------------+ | checksum | 443b7623e27ecf03dc9e01ee93f67afe | | container_format | bare | | created_at | 2022-07-31T14:04:39Z | | disk_format | qcow2 | | id | 20963216-8674-41bd-bc07-301b7c40b534 | | min_disk | 0 | | min_ram | 0 | | name | cirros | | os_hash_algo | sha512 | | os_hash_value | 6513f21e44aa3da349f248188a44bc304a3653a04122d8fb4535423c8e1d14cd6a153f735bb0982e | | | 2161b5b5186106570c17a9e58b64dd39390617cd5a350f78 | | os_hidden | False | | owner | 89d40026b5a34021ae2f3cdbefca9c52 | | protected | False | | size | 12716032 | | status | active | | tags | [] | | updated_at | 2022-07-31T14:04:40Z | | virtual_size | Not available | | visibility | public | +------------------+----------------------------------------------------------------------------------+ [root@openstack-1 images]# glance image-list +--------------------------------------+--------+ | ID | Name | +--------------------------------------+--------+ | 20963216-8674-41bd-bc07-301b7c40b534 | cirros | +--------------------------------------+--------+
]# openstack image list +--------------------------------------+--------+--------+ | ID | Name | Status | +--------------------------------------+--------+--------+ | 20963216-8674-41bd-bc07-301b7c40b534 | cirros | active | +--------------------------------------+--------+--------+
# ll /var/lib/glance/images/ total 24840 -rw-r----- 1 glance glance 12716032 Jul 31 22:04 20963216-8674-41bd-bc07-301b7c40b534 -rw-r--r-- 1 root root 12716032 Jul 31 21:49 cirros-0.4.0-x86_64-disk.img [root@openstack-1 images]# pwd /data/glance/images [root@openstack-1 images]# ll total 24840 -rw-r----- 1 glance glance 12716032 Jul 31 22:04 20963216-8674-41bd-bc07-301b7c40b534 -rw-r--r-- 1 root root 12716032 Jul 31 21:49 cirros-0.4.0-x86_64-disk.img
-
-
-
越学越感到自己的无知
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!