• 三,openstack之glance服务的安装


    三,openstack之glance服务的安装

     

    openstack之镜像服务glance的安装

    一,glance服务简介

    Glance是Openstack镜像服务组件,监听在9292端口,接收REST API请求,通过其它模块来完成镜像的获取,上传,删除等。

    在创建虚拟机的时候,先把镜像上传到glace,

    glance-api接收镜像的删除、上传和读取;
    glance-registry(port:9191)与mysql交互,存储获取镜像的元数据。

    glance数据库有两张表,一张image表,一张image property表:保存了镜像格式、大小等信息

    image store是一个存储的接口层,通过这个接口glance可以获取镜像

    二,glance的安装

    1,openstack安装服务的通用步骤

    1,创库授权

    2,在keystone创建用户,关联角色

    3,在keystone上创建服务,注册api

    4,安装服务相关的软件包

    5,修改配置

    • 数据库的连接
    • keystone的认证授权信息
    • rabbitmq的连接信息
    • 其他服务的连接配置

    6,同步数据库,创建表

    7,启动服务

    2,安装配置glance

    1,创建glance库并授权

    [root@controller ~]# mysql -uroot -p***
    
    MariaDB [(none)]> CREATE DATABASE glance;
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'GLANCE_DBPASS';
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'GLANCE_DBPASS';
    

    2,导入admin用户的环境变量,创建glance用户并授权

    source admin-openrc   #应用admin的环境变量
    openstack user create --domain default --password GLANCE_PASS glance #创建glance用户
    openstack role add --project service --user glance admin #关联角色,给glance用户授权
    
    [root@controller ~]# openstack role assignment list  #查看授权的用户
    +----------------------------------+----------------------------------+-------+----------------------------------+--------+--------+-----------+
    | Role                             | User                             | Group | Project                          | Domain | System | Inherited |
    +----------------------------------+----------------------------------+-------+----------------------------------+--------+--------+-----------+
    | 38f0eca02ff449ddb5645c03edf6ea95 | 6d5b2f95c05248e5b0534e22b71a1780 |       | 695024d064f84bcfa5a48170b4519fad |        |        | False     |
    | 8ec87a64484944d88e93d2a59f55bfe0 | 84a0c3edd86a416a9c5bf0196e724843 |       | 695024d064f84bcfa5a48170b4519fad |        |        | False     |
    | 38f0eca02ff449ddb5645c03edf6ea95 | c5d3016e0873403487102264a4ba09e4 |       | 4c0a56c8e5444a73a1eb0a4e3cb3d4a7 |        |        | False     |
    | 38f0eca02ff449ddb5645c03edf6ea95 | c5d3016e0873403487102264a4ba09e4 |       |                                  |        | all    | False     |
    +----------------------------------+----------------------------------+-------+----------------------------------+--------+--------+-----------+
    
    

    3,创建glance服务并注册API

    openstack service create --name glance 
      --description "OpenStack Image" image
    +-------------+----------------------------------+
    | Field       | Value                            |
    +-------------+----------------------------------+
    | description | OpenStack Image                  |
    | enabled     | True                             |
    | id          | 29c34febca274d90a47bd23623267ca1 |
    | name        | glance                           |
    | type        | image                            |
    +-------------+----------------------------------+
    
    openstack endpoint create --region RegionOne 
      image public http://controller:9292                 #注册公共API
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | bdeb1eb06bb94e80acbf2c41c40772da |
    | interface    | public                           |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 29c34febca274d90a47bd23623267ca1 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://controller:9292           |
    +--------------+----------------------------------+
      
    openstack endpoint create --region RegionOne 
      image internal http://controller:9292                # 注册内部使用API
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | bc163af48a7342b393a66f37e2184b69 |
    | interface    | internal                         |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 29c34febca274d90a47bd23623267ca1 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://controller:9292           |
    +--------------+----------------------------------+
    
    openstack endpoint create --region RegionOne  
      image admin http://controller:9292                      #注册管理员API
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 9ca3abd29a754dd0ae646a3cf7d16da6 |
    | interface    | admin                            |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | 29c34febca274d90a47bd23623267ca1 |
    | service_name | glance                           |
    | service_type | image                            |
    | url          | http://controller:9292           |
    +--------------+----------------------------------+
      
    

    4,安装glance并配置

    yum install openstack-glance -y
    
    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
    
    vim /etc/glance/glance-api.conf  #配置glance-api.conf
    [database]
    # ...
    connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance
    
    [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_store]          #配置本地文件系统存储和镜像文件的位置
    stores = file,http
    default_store = file
    filesystem_store_datadir = /var/lib/glance/images/
    
    su -s /bin/sh -c "glance-manage db_sync" glance   #初始化生成glance数据库
    
    # 启动映像服务,并将其配置为在系统引导时启动:
    systemctl enable openstack-glance-api.service
    systemctl start openstack-glance-api.service
    
    #查看9292端口启动,即说明glance安装成功
    ss -tnlp 
    LISTEN     0      128     *:9292  *:*                   
    users:(("glance-api",pid=2494,fd=4),("glance-api",pid=2482,fd=4))
    
    

    3,通过实验验证glance服务

    下载一个cirros镜像(cirros是一个很小的Linux系统),验证glance的安装

    source admin-openrc #在admin用户下
    wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img  (如果下载慢,也可以在windows下使用迅雷等工具下载,然后上传到控制节点的root目录下)
    
    openstack image create --file /root/cirros-0.4.0-x86_64-disk.img --disk-format qcow2 --container-format bare --public cirros #(官方文档坑点之一,这里不要使用官方文档里面的glance image-create这样的写法,新版本的OpenStack已经不支持,尽量统一使用以openstack开头的命令写法)
    # --disk-format qcow2 镜像的格式为qcow2格式
    # --container-format bare  容器类型,bare即为普通虚拟机镜像
    # --public cirros 
    
    

    执行结果如图一,再查看image list如图二,查看存放镜像目录如图三,证明glance服务正常运行

    至此,glance服务安装完成

     
  • 相关阅读:
    docker学习及应用
    openstack入门及应用
    C# 值类型,引用类型区别
    C# 继承
    Unity 使用Plugins接入安卓SDK 基础篇
    详谈 Unity3D AssetBundle 资源加载,结合实际项目开发实例
    Unity3D 协程 浅谈
    《俄罗斯,有点意思》
    老男孩之《生日快乐》
    【诗歌系列】《神曲》
  • 原文地址:https://www.cnblogs.com/Python-K8S/p/13786915.html
Copyright © 2020-2023  润新知