puppet-glance
puppet-glance模块
puppet-glance模块0. 项目简介
Glance是OpenStack Image Service项目,用于注册、管理和检索虚拟机镜像。 Glance并不负责实际的镜像存储。它提供了对接简单文件系统,对象存储,块存储等多种存储后端的能力。除了磁盘镜像信息,它还能够存储描述镜像的元数据和状态信息。
1.先睹为快
不想看下面大段的代码解析,已经跃跃欲试了?
OK,我们开始吧!
创建puppet_glance.pp文件并输入:
class { 'glance::api':
verbose => true,
keystone_tenant => 'services',
keystone_user => 'glance',
keystone_password => '12345',
database_connection => 'mysql://glance:12345@127.0.0.1/glance',
}
class { 'glance::registry':
verbose => true,
keystone_tenant => 'services',
keystone_user => 'glance',
keystone_password => '12345',
database_connection => 'mysql://glance:12345@127.0.0.1/glance',
}
class { 'glance::backend::file': }
class { 'glance::db::mysql':
password => '12345',
allowed_hosts => '%',
}
class { 'glance::keystone::auth':
password => '12345'
email => 'glance@example.com',
public_address => '127.0.0.1',
admin_address => '127.0.0.1',
internal_address => '172.17.1.3',
region => 'example-west-1',
}
rabbitmq_user { 'glance':
admin => true,
password => 'an_even_bigger_secret',
provider => 'rabbitmqctl',
require => Class['::rabbitmq'],
}
rabbitmq_user_permissions { 'glance@/':
configure_permission => '.*',
write_permission => '.*',
read_permission => '.*',
provider => 'rabbitmqctl',
require => Class['::rabbitmq'],
}在终端执行以下命令:
2.核心代码讲解
2.1 class glance
class glanceclass glance用于管理Glance软件包和Openstackclient软件包:
2.2 class glance::api
class glance::apiglance::api类用于管理以下配置:
policy\db\logging\cache
/etc/glance/glance-api.conf
3.管理/etc/glance/glance-cache.conf
在Glance-api中,启用Glance的缓存功能可以加速镜像的二次下载速度(注:在使用Ceph作为Glance, Cinder, Nova的后端时,此功能无效)
4.glance-api服务的管理
5.验证glance-api服务部署是否成功 通过调用glance image-list命令来验证glance-api的返回值是否符合预期。
2.3 Class glance::registry
glance::registry用于安装和配置glance-registry服务,其代码结构与glance::api类似,在此不做赘述。
Class glance::notify::rabbitmq
在glance-api和glance-registry中启用notifications功能可以在创建镜像,更新镜像源数据等事件发生时发送通知到rabbitmq给其他服务使用。
调用puppet-oslo来配置glance-api.conf和glance-registry
2.4 Class glance::backend::rbd
Class glance::backend::rbdGlance支持多种存储后端,比如cinder,swift,file,ceph,s3,本节将介绍如何使用glance::backend::rbd配置Ceph作为Glance后端存储:
3.动手练习
配置Glance使用Swift作为存储后端
设置token的缓存时间为5min
Last updated
Was this helpful?