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端点。

  1. 完成下面的步骤以创建数据库:

    • 用数据库连接客户端以 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

    • 退出数据库客户端。

  2. 获得 admin 凭证来获取只有管理员能执行的命令的访问权限:

    $ . admin-openrc
  3. 要创建服务证书,完成这些步骤:

    • 创建 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/
        1. 填充图像服务数据库:

          # 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
        复制代码

         

         
posted @   不会跳舞的胖子  阅读(126)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示