• OpenStack学习系列之三:安装部署glance


    Glance(OpenStack Image Service)是一个提供发现、注册和下载镜像的服务。Glance 提供了虚拟机镜像的集中存储,通过 Glance 的 RESTful API,可以查询镜像元数据和下载镜像。虚拟机的镜像可以很方便的存储在各种地方,从简单的文件系统到对象存储系统(比如 OpenStack Swift)。
    Glance支持多种后端存储,比如nfs和ceph作为Glance的后端存储用于存储镜像。建议使用ceph作为后端存储服务,这也是官方建议。
    Glance 具体功能如下:
    • 提供 RESTful API 让用户能够查询和获取镜像的元数据和镜像本身;
    • 支持多种方式存储镜像,包括普通的文件系统、Swift、Ceph 等;
    • 对实例执行快照创建新的镜像。
    • 在 Newton 之前的版本中,Glance 支持两种 RESTful API V1和V2,两者区别为:
      • V1只提供了基本的镜像和用户操作功能:镜像创建、删除、下载、列表、详细信息查询、更新,以及镜像租户成员的创建、删除和列表。
      • V2除了支持V1的所有功能外,主要是增加了如下功能:
        • 镜像 location 的添加、删除和修改等操作;
        • metadata namespace 操作;
        • 镜像 tag 操作。
    • V1和V2对镜像后端存储的支持是相同的。
     

    安装glance(控制节点,node1)

    ---------------------------------------------#初始化数据库,glance连接mysql用户密码glance/glance
    mysql -uroot -pmysql << EOF
    CREATE DATABASE glance;
    GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
      IDENTIFIED BY 'glance';
    GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
      IDENTIFIED BY 'glance';
    EOF
    ---------------------------------------------#创建用户,node1执行
    [root@node1 ~]# . admin-openrc
    [root@node1 ~]# openstack user create --domain default --password-prompt glance # 输入glance密码glance 
    User Password:
    Repeat User Password:
    +---------------------+----------------------------------+
    | Field               | Value                            |
    +---------------------+----------------------------------+
    | domain_id           | default                          |
    | enabled             | True                             |
    | id                  | 74b8f80f91084f0a8b17bb04a3fd47b1 |
    | name                | glance                           |
    | options             | {}                               |
    | password_expires_at | None                             |
    +---------------------+----------------------------------+
    [root@node1 ~]# openstack role add --project service --user glance admin
    [root@node1 ~]# openstack service create --name glance --description "OpenStack Image" image
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | OpenStack Image                  |
    | enabled     | True                             |
    | id          | d421acdbcaaa4a5f92d87c20c4ebfec2 |
    | name        | glance                           |
    | type        | image                            |
    +-------------+----------------------------------+
    [root@node1 ~]# openstack endpoint create --region RegionOne image public http://node1:9292
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 38aa9583a2274dc6b6cce8289e5a518c |
    | interface    | public                           |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | d421acdbcaaa4a5f92d87c20c4ebfec2 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://node1:9292                |
    +--------------+----------------------------------+
    [root@node1 ~]# openstack endpoint create --region RegionOne image internal http://node1:9292
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 85ec01a12a424c328a554e1c925b5ac4 |
    | interface    | internal                         |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | d421acdbcaaa4a5f92d87c20c4ebfec2 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://node1:9292                |
    +--------------+----------------------------------+
    [root@node1 ~]# openstack endpoint create --region RegionOne image admin http://node1:9292
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | d1391c0234f74f3cbdb8df8f94ffca17 |
    | interface    | admin                            |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | d421acdbcaaa4a5f92d87c20c4ebfec2 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://node1:9292                |
    +--------------+----------------------------------+
    
    ---------------------------------------------#安装配置组件
    yum --enablerepo powertools -y install openstack-glance
    crudini --set /etc/glance/glance-api.conf database connection mysql+pymysql://glance:glance@node1/glance
    crudini --set /etc/glance/glance-api.conf keystone_authtoken www_authenticate_uri   http://node1:5000
    crudini --set /etc/glance/glance-api.conf keystone_authtoken auth_url http://node1:5000
    crudini --set /etc/glance/glance-api.conf keystone_authtoken memcached_servers  node1: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 glance
    crudini --set /etc/glance/glance-api.conf paste_deploy flavor keystone
    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/    # 镜像存储目录
    ---------------------------------------------#初始化数据
    /bin/sh -c "glance-manage db_sync" glance
    ---------------------------------------------#启动服务
    chown glance.glance -R /var/log/glance/   # 设置目录及目录下的文件的权限,防止权限错误导致服务无法启动
    systemctl enable openstack-glance-api && systemctl start openstack-glance-api
    ---------------------------------------------#验证,下载并执行上传镜像,node1执行
    . admin-openrc
    wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img
    [root@node1 ~]# 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-03-01T06:47:15Z                                                             |
    | disk_format      | qcow2                                                                            |
    | id               | 377a35ff-8674-4154-b7c9-707255c7474c                                             |
    | min_disk         | 0                                                                                |
    | min_ram          | 0                                                                                |
    | name             | cirros                                                                           |
    | os_hash_algo     | sha512                                                                           |
    | os_hash_value    | 6513f21e44aa3da349f248188a44bc304a3653a04122d8fb4535423c8e1d14cd6a153f735bb0982e |
    |                  | 2161b5b5186106570c17a9e58b64dd39390617cd5a350f78                                 |
    | os_hidden        | False                                                                            |
    | owner            | c827c773e36d4149a93196b371cebfd9                                                 |
    | protected        | False                                                                            |
    | size             | 12716032                                                                         |
    | status           | active                                                                           |
    | tags             | []                                                                               |
    | updated_at       | 2022-03-01T06:47:16Z                                                             |
    | virtual_size     | 46137344                                                                         |
    | visibility       | public                                                                           |
    +------------------+----------------------------------------------------------------------------------+
    [root@node1 ~]# glance image-list
    +--------------------------------------+--------+
    | ID                                   | Name   |
    +--------------------------------------+--------+
    | 377a35ff-8674-4154-b7c9-707255c7474c | cirros |
    +--------------------------------------+--------+
    # 在上面设置的镜像存储目录/var/lib/glance中可以看到刚刚上传的镜像
    [root@node1 ~]# ls -lh /var/lib/glance/images/ -lh
    total 13M
    -rw-r-----. 1 glance glance 13M Mar  1 14:47 377a35ff-8674-4154-b7c9-707255c7474c
    [root@node1 ~]# md5sum cirros-0.4.0-x86_64-disk.img /var/lib/glance/images/377a35ff-8674-4154-b7c9-707255c7474c 
    443b7623e27ecf03dc9e01ee93f67afe  cirros-0.4.0-x86_64-disk.img
    443b7623e27ecf03dc9e01ee93f67afe  /var/lib/glance/images/377a35ff-8674-4154-b7c9-707255c7474c
    
  • 相关阅读:
    QT窗体程序设置成不可改变大小,并生成在Linux下可双击执行的程序文件
    QT新建一个窗口控制程序,以实现添加按钮点击弹出信息提示框为例
    C# 模拟Http请求、下载
    thingsboard改造使用mysql数据库
    Redis单机版分布式锁实现
    利用jvisualvm使用btrace进行线上调试案例
    Btrace官方教程-中文版
    Powerdesigner16 逆向 postgresql9.2
    Linux java进程无故被kill
    thingsboard填坑之路
  • 原文地址:https://www.cnblogs.com/djoker/p/15955291.html
Copyright © 2020-2023  润新知