首先登录controller1创建glance数据库,并赋于远程和本地访问的权限。
 
 
 mysql -u root -p
 
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost'  IDENTIFIED BY 'venic8888';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%'  IDENTIFIED BY 'venic8888';
flush PRIVILEGES;
 
二、身份认证调用创建
只在controller1一台上执行即可
 
source admin-openrc.sh
创建glance用户的密码,我统一配glance
openstack user create --domain default --password-prompt glance
User Password:
Repeat User Password:
+-----------+----------------------------------+
| Field     | Value                            |
+-----------+----------------------------------+
| domain_id | default                          |
| enabled   | True                             |
| id        | e38230eeff474607805b596c91fa15d9 |
| name      | glance                           |
+-----------+----------------------------------+
 
openstack role add --project service --user glance admin
 
 openstack service create --name glance --description "OpenStack Image service" image
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Image service          |
| enabled     | True                             |
| id          | 8c2c7f1b9b5049ea9e63757b5533e6d2 |
| name        | glance                           |
| type        | image                            |
+-------------+----------------------------------+
 
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           |
+--------------+----------------------------------+
 
三、下载安装glance组件
2台controller
 
 yum install openstack-glance python-glance python-glanceclient -y
 
2台controller修改配置api文件
vi /etc/glance/glance-api.conf
 
[DEFAULT]
notification_driver = noop
verbose = True
rpc_backend = rabbit
#针对IP配置
bind_host = 10.40.42.1
bind_port = 9292   
#如果这里不声明注册IP,它调用本地的注册时使用的是127.0.0.1的IP,跟glance-registry.conf不同,那个是外部调用,所以这两个地方都要配,不然会报http 500错误
registry_host=10.40.42.10
registry_port=9191
 
[database]
connection = mysql://glance:venic8888@controller/glance
 
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = glance
password = glance
 
[paste_deploy]
flavor = keystone
 
[glance_store]
default_store = file
filesystem_store_datadir = /home/local/glance/images/
 
[oslo_messaging_rabbit]
rabbit_host=controller
rabbit_userid = openstack
rabbit_password = openstack
rabbit_retry_interval=1
rabbit_retry_backoff=2
rabbit_max_retries=0
rabbit_durable_queues=true
rabbit_ha_queues=true
 
 
配置完成后,两台controller需要创建目录
mkdir -p /home/local/glance/images/
chown -R glance:glance /home/local/glance
 
 
两台controller修改配置registry文件
 
vi /etc/glance/glance-registry.conf
 
[DEFAULT]
notification_driver = noop
verbose = True
rpc_backend = rabbit
bind_host = 10.40.42.1
bind_port = 9191
 
[database]
connection = mysql://glance:venic8888@controller/glance
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = glance
password = glance
 
[paste_deploy]
flavor = keystone
 
[oslo_messaging_rabbit]
rabbit_host=controller
rabbit_userid = openstack
rabbit_password = openstack
rabbit_retry_interval=1
rabbit_retry_backoff=2
rabbit_max_retries=0
rabbit_durable_queues=true
rabbit_ha_queues=true
 
 
其中一台controller同步数据库
su -s /bin/sh -c "glance-manage db_sync" glance
 
2台controller都启动服务,加入开机自启
# systemctl enable openstack-glance-api.service  openstack-glance-registry.service
# systemctl start openstack-glance-api.service  openstack-glance-registry.service
 
TIPS:是否要使用rabiitmq队列呢?官网没有提到配置,这里我测试加了但没有功能影响,这是一个纯属个人行为的验证
验证,查看haproxy工作是否正常。
在其中带有VIP的controller上创建一个镜像,介时镜像包会放置在主用的controller的/home/local/glance/images/下,另外2台没有。
echo "export OS_IMAGE_API_VERSION=2" | tee -a admin-openrc.sh demo-openrc.sh
 
source admin-openrc.sh
 
 
 glance image-create --name "cirros" \
  --file cirros-0.3.4-x86_64-disk.img \
  --disk-format qcow2 --container-format bare \
  --visibility public --progress
[=============================>] 100%
+------------------+--------------------------------------+
| Property         | Value                                |
+------------------+--------------------------------------+
| checksum         | 133eae9fb1c98f45894a4e60d8736619     |
| container_format | bare                                 |
| created_at       | 2015-03-26T16:52:10Z                 |
| disk_format      | qcow2                                |
| id               | 38047887-61a7-41ea-9b49-27987d5e8bb9 |
| min_disk         | 0                                    |
| min_ram          | 0                                    |
| name             | cirros                               |
| owner            | ae7a98326b9c455588edd2656d723b9d     |
| protected        | False                                |
| size             | 13200896                             |
| status           | active                               |
| tags             | []                                   |
| updated_at       | 2015-03-26T16:52:10Z                 |
| virtual_size     | None                                 |
| visibility       | public                               |
+------------------+--------------------------------------+
 
验证镜像文件是否存在,以备后续调用

glance image-list
 

openstack私有云布署实践【9.2 Glance镜像管理(办公网环境)】的更多相关文章

  1. openstack私有云布署实践【7.2 keystone + memcache (办公网环境)】

    首先登录controller1创建keystone数据库,并赋于远程和本地访问的权限.   mysql -u root -p CREATE DATABASE keystone; GRANT ALL P ...

  2. openstack私有云布署实践【2 安装前的服务器基本环境准备】

    服务器物理机都安装centos7.2 1511版本 , 此次采用的分区方式全是自动XFS格式LVM,在装系统时就将所有本地raid5硬盘都加入LVM全用了.默认/home目录有着最大的硬盘空间 并且我 ...

  3. openstack私有云布署实践【7.1 keystone + memcache (科兴环境)】

    其实登录数据库集群中任意1台都可以创建库,它们会实时自动同步数据库和对应的数据库权限.   首先登录kxcontroller1创建kx_keystone数据库,并赋于远程和本地访问的权限.   mys ...

  4. openstack私有云布署实践【12.2 网络Neutron-controller节点配置(办公网环境)】

    网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...

  5. openstack私有云布署实践【12.1 网络Neutron-controller节点配置(科兴环境)】

    网络这一块推荐使用的是 Neutron--LinuxBirdge的Ha高可用,此高可用方案对Public作用不是很大,Public只用到DHCP,而Private则会用到L3 Agent,则此方案是有 ...

  6. openstack私有云布署实践【0 前言】

    管理控制层面示图: 其实在修改这个布署文档是,我发现当时生产中的布署已经严重偏离了openstack高可用的指导思想.我们自己实践的高可用其实是适应自己的架构而做的调整,因为我们现实手头上中没有比较符 ...

  7. openstack私有云布署实践【15 创建租户网络+实例】

    这里以办公网测试环境为例,   (一)创建租户demo的网络   使用admin用户 source admin-openrc.sh 创建public公网 neutron net-create 1040 ...

  8. openstack私有云布署实践【9.3 主从controller单向同步glance-image目录】

    采用Rysnc单向同步,而不用双方实时同步,原因是在历史的运行过程中,我们发现,有些镜像包太大,当在主用的glance将镜像保存时,并不是一时半会就把镜像保存好,当主用在保存时,备用节点又在实时同步那 ...

  9. openstack私有云布署实践【9.1 Glance镜像管理(科兴环境)】

    首先登录kxcontroller1创建kx_glance数据库,并赋于远程和本地访问的权限.      mysql -u root -p   CREATE DATABASE kx_glance; GR ...

随机推荐

  1. C# 通讯网关开发

    C# 通讯网关开发 楼主从12年毕业大部分时间一直从事于通讯网关的开发,刚刚学那会连C#是啥都不知道,就直接入手网关开发,前前后后到现在也算是弄了5.6个通讯协议,后来看到北风之神的socket框架和 ...

  2. Ant 随想

    Ant是一种基于Java的build工具 面向任务构建,属性与于shell脚本中命令功能类型. <?xml version="1.0"?> <project na ...

  3. 详解SpringMVC请求的时候是如何找到正确的Controller

    详解SpringMVC请求的时候是如何找到正确的Controller[附带源码分析] 目录 前言 源码分析 重要接口介绍 SpringMVC初始化的时候做了什么 HandlerExecutionCha ...

  4. 软件协作工具Trello

    软件协作工具Trellohttps://trello.com/ Q群里conan发了个UE4的RODEMAP的trello链接,感受了一下Trello这款软件协作工具.(https://trello. ...

  5. 什么是gulp

    gulp:入门简介   本文是gulp的入门级介绍,主要内容包括什么是gulp,gulp与grunt有什么区别,gulp可以解决grunt存在的哪些问题,以及一个简单的说明例子. 什么是gulp gu ...

  6. 基于多重信号分类算法的DOA估计

    原创博文,转载请注明出处 下面的论文是我的雷达处理的作业,拿来共享,不喜勿喷.由于公式编辑器的原因,无法复制公式,全部内容请点击. 基于多重信号分类算法的DOA估计 1引言 多重信号分类(MUSIC) ...

  7. UIWebView的探索

    UIWebView 说到iOS的UIWebView,应该会很快回忆起常用委托方法,异步loadRequest.stopLoading.reload方法等. 在此我总结一些容易忽略的属性和方法: 1.  ...

  8. memcpy的实现

    memcpy的实现看起来貌似比较简单,但是也是有注意的地方! void *memcpy(void *dst, const void *src, size_t size) { //check argum ...

  9. webx学习1

    webx的配置 如果想在web项目中使用webx框架,需要在web-inf/web.xml文件中进行相关的配置. 1.初始化spring容器 初始化spring容器- /web-inf/web.xml ...

  10. .NET4.5 Console.ReadKey()在多线程下的BUG

    .NET 4.5 在多线程的控制台里,Console.ReadKey()可能会造成线程死锁.看代码: static void Main(string[] args) { System.Timers.T ...