• Ubuntu16手动安装OpenStack——glance篇--转


    全文转自https://www.voidking.com/dev-ubuntu16-manual-openstack-glance/

     

    目标

    紧接着《Ubuntu16手动安装OpenStack——keystone篇》,本文我们来安装glance,主要参考Glance Installation Tutorial for Ubuntu

    glance简介

    Image服务(glance)使用户能够发现、注册和检索虚拟机映像。它提供了一个REST API,使用户可以查询虚拟机镜像元数据并检索实际镜像。用户可以通过Image服务,把虚拟机映像存储在各种位置,从简单的文件系统到OpenStack Object Storage等对象存储系统。

    为简单起见,官方教程中介绍如何配置Image服务以使用文件后端,该文件后端上载并存储在托管Image服务的控制器节点上的目录中。默认情况下,此目录为/var/lib/glance/ images/。在继续之前,请确保控制器节点在此目录中至少有几千兆字节的可用空间。请记住,由于文件后端通常是控制器节点的本地,因此通常不适合多节点glance部署。

    OpenStack Image服务是Infrastructure-as-a-Service(IaaS)的核心。它接受来自磁盘或服务器映像的API请求,以及来自终端用户或OpenStack Compute组件的元数据定义。它还支持在各种存储库类型(包括OpenStack Object Storage)上存储磁盘或服务器映像。许多定期进程在OpenStack Image服务上运行以支持缓存。Replication服务可确保群集的一致性和可用性,其他定期进程包括auditors,updaters和reapers。

    OpenStack Image服务包括以下组件:

    glance-api
    接受Image API调用以进行镜像发现,检索和存储。

    官方建议将Glance作为独立服务器以传统方式运行。

    glance-registry
    存储,处理和检索有关镜像的元数据。元数据包括大小和类型等选项。

    注册表是一个私有的内部服务,供OpenStack Image服务使用,不要将此服务公开给用户。

    Glance注册服务及其API已在queens版本中弃用,并且在“S”开发周期开始后,可根据OpenStack标准弃用政策进行删除。

    Database
    存储镜像元数据,您可以根据自己的喜好选择数据库,大多数部署使用MySQL或SQLite。

    Storage repository for image files
    支持各种存储库类型,包括常规文件系统(或安装在glance-api控制器节点上的任何文件系统),Object Storage,RADOS块设备,VMware数据存储和HTTP。

    请注意,某些存储库仅支持只读用法。

    Metadata definition service
    供应商、管理员、服务和用户的通用API,用于定义自己的元数据。此元数据可用于不同类型的资源,如 images、artifacts、volumes、flavors和aggregates。定义包括新属性的关键字、描述、约束和它可以关联的资源类型。

    安装和配置

    本节介绍如何在控制器节点上安装和配置镜像服务(glance)。为简单起见,此配置将镜像存储在本地文件系统上。

    root用户

    为了避免权限问题,建议切换到root用户进行操作(否则要加很多sudo)。
    sudo -i

    数据库

    1、登录数据库
    mysql -uroot -p,密码为openstack。

    2、创建glance数据库
    CREATE DATABASE glance;

    3、授权
    GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'openstack';

    GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'openstack';

    4、退出数据库
    exit;

    服务证书和端点

    1、使admin环境生效
    . admin-openrc

    2、创建glance用户
    openstack user create --domain default --password-prompt glance

    根据提示设置密码为openstack。

    3、将admin角色添加到glance用户和service项目上
    openstack role add --project service --user glance admin

    4、创建glance服务实体
    openstack service create --name glance --description "OpenStack Image" image

    5、创建镜像服务API endpoints

    1
    2
    3
    4
    5
    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

    安装和配置组件

    1、安装glance
    apt -y install glance

    2、备份glance-api.conf
    mv /etc/glance/glance-api.conf /etc/glance/glance-api.conf.bak

    3、vim /etc/glance/glance-api.conf,新建glance-api.conf文件内容为:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    [DEFAULT]
    bind_host = 0.0.0.0

    [glance_store]
    default_store = file
    filesystem_store_datadir = /var/lib/glance/images/

    [database]
    # MariaDB connection info
    connection = mysql+pymysql://glance:openstack@controller/glance

    # Keystone auth info
    [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 = openstack

    [paste_deploy]
    flavor = keystone

    4、备份glance-registry.conf
    mv /etc/glance/glance-registry.conf /etc/glance/glance-registry.conf.bak

    5、vim /etc/glance/glance-registry.conf,新建glance-registry.conf内容为:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    [DEFAULT]
    bind_host = 0.0.0.0

    [database]
    # MariaDB connection info
    connection = mysql+pymysql://glance:openstack@controller/glance

    # Keystone auth info
    [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 = openstack

    [paste_deploy]
    flavor = keystone

    6、更改权限

    1
    2
    chmod 644 /etc/glance/glance-api.conf /etc/glance/glance-registry.conf
    chown glance. /etc/glance/glance-api.conf /etc/glance/glance-registry.conf

    7、生成glance数据库结构
    su -s /bin/bash glance -c "glance-manage db_sync"

    完成后登录mysql查看数据。

    查看日志命令:
    tail /var/log/glance/glance-api.log

    tail /var/log/glance/glance-registry.log

    8、重启镜像服务
    systemctl restart glance-api glance-registry

    验证操作

    1、使admin环境生效
    . admin-openrc

    2、下载corris镜像
    wget http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-x86_64-disk.img

    3、上传corris镜像到glance,存储为QCOW2格式,并且设置为所有人可见

    1
    2
    3
    4
    openstack image create "cirros" 
    --file cirros-0.4.0-x86_64-disk.img
    --disk-format qcow2 --container-format bare
    --public

    有关OpenStack映像创建参数的信息,请参阅OpenStack用户指南中的创建或更新映像(glance)

    有关映像的磁盘和容器格式的信息,请参阅OpenStack虚拟机映像指南中的映像的磁盘和容器格式

    4、查看镜像
    openstack image list

    看到镜像ID、Name和Status。

    cd /var/lib/glance/images,可以看到名为镜像ID的文件。

  • 相关阅读:
    黄聪:PowerPoint设计编辑动画的时候图层隐藏和显示问题
    黄聪:如何在Windows上安裝BeautifulSoup
    黄聪:二、如何通过URL获取其他网页源代码内容(火狐插件扩展开发教程)
    黄聪:2006 MySQL server has gone away错误,最大值溢出解决办法 mysql max_allowed_packet 查询和修改
    黄聪:解决python中文处理乱码,先要弄懂“字符”和“字节”的差别
    ExtAspNet v2.2.1
    ExtAspNet v2.3.2
    [原创]全球首款不使用ViewState的Asp.Net2.0控件库
    [原创]从程序员角度分析安徽电信HTTP劫持的无耻行径 草根的暂时胜利
    [原创]从程序员角度分析安徽电信HTTP劫持的无耻行径 – 之深度分析
  • 原文地址:https://www.cnblogs.com/loufangcheng/p/11842398.html
Copyright © 2020-2023  润新知