cirros镜像_3安装镜像服务

任务三 安装镜像服务

任务内容

本次任务是了解什么是镜像?并完成镜像的安装、测试等工作,为下一个任务做好基础。

任务实施

一、什么是镜像服务?

1cfd5679f10c165ee7de4d93bfe240d8.png

镜像服务(glance)允许用户发现、注册和获取虚拟机镜像。它提供了一个 REST API,允许用户查询虚拟机镜像的metadata并获取一个现存的镜像。用户可以将虚拟机镜像存储到各种位置,从简单的文件系统到对象存储系统,例如 OpenStack 对象存储, 并通过镜像服务使用。

OpenStack镜像服务是IaaS的核心服务。它接受磁盘镜像或服务器镜像API请求,和来自终端用户或OpenStack计算组件的元数据定义。它也支持包括OpenStack对象存储在内的多种类型仓库上的磁盘镜像或服务器镜像存储。

大量周期性进程运行于OpenStack镜像服务上以支持缓存。同步复制(Replication)服务保证集群中的一致性和可用性。其它周期性进程包括auditors,updaters和 reapers。

OpenStack镜像服务包括以下组件:

glance-api:接收镜像API的调用,诸如镜像发现、恢复、存储。

glance-registry:存储、处理和恢复镜像的元数据,元数据包括项诸如大小和类型。glance-registry是私有内部服务,用于服务OpenStack Image服务。不要向用户暴露该服务。

数据库:存放镜像元数据,用户是可以依据个人喜好选择数据库的,多数的部署使用MySQL或SQLite。

镜像文件的存储库:支持多种存储类型,包括普通文件系统、对象存储、RADOS块设备、HTTP、以及亚马逊S3。注意,其中一些存储仅支持只读方式使用。

元数据定义服务:通用的API,是用于为厂商,管理员,服务,以及用户自定义元数据。这种元数据可用于不同的资源,例如镜像,工件,卷,配额以及集合。一个定义包括了新属性的键,描述,约束以及可以与之关联的资源的类型。

二、基础配置

安装和配置镜像服务之前,必须创建创建一个数据库、服务凭证和API端口,这些配置需要控制节点上完成。

1、创建数据库:

●用数据库连接客户端以 root 用户连接到数据库服务器:

root@controller:/# mysql -u root -p

Enter password:(此处输入密码,不显示)

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 44

Server version: 10.0.38-MariaDB-0ubuntu0.16.04.1 Ubuntu 16.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

●创建 glance 数据库:

CREATE DATABASE glance;

●对“glance”数据库授予恰当的权限:

GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \

  IDENTIFIED BY 'GLANCE_DBPASS';

GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \

  IDENTIFIED BY 'GLANCE_DBPASS';

用一个合适的密码替换 GLANCE_DBPASS,本案例中采用adminroot。

●退出数据库客户端。

2、获得 admin 凭证来获取只有管理员能执行的命令的访问权限,环境设置。

openrc$ . admin-openrc

3、要创建服务证书,完成这些步骤:

●创建 glance 用户:

# openstack user create --domain default --password-prompt glance

f56da6af6adff014b455d8384b2f577b.png

图3-3-1 创建 glance用户

●添加 admin 角色到 glance 用户和 service 项目上。

# openstack role add --project service --user glance admin

●创建“glance”服务实体:

# openstack service create --name glance \

  --description "OpenStack Image" image

5f1cd4d3e157f1efc3acf977fdc53fb0.png

图3-3-2 添加角色和创建服务

4、创建镜像服务的 API 端点

创建镜像服务API 端点,分别执行如下命令,执行结果如图3-3-3,图3-3-4,图3-3-5所示,注意命令执行过程产生的ID是随机产生的。

$ 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

a5cf63fcfa56917f199dd4db093a0a0e.png

图3-3-3 创建public端口

1457ccc7e20a9fe00e90b8505e3b1ccc.png

图3-3-4创建internal端口

8b5a83db5a0ba3b186be4346e79582b6.png

图3-3-5 创建admin端口

这里做个解释,public、admin和internal,public是公共的意思,公共API网络为了让顾客管理他们自己的云在互联网上是可见的。Admin是管理,管理API网络在管理云基础设施的组织中操作也是有所限制的。Internal内部的,内部API网络会被限制在包含OpenStack服务的主机上。

三、安装和配置镜像组件

1、安装软件包:

# apt-get install glance

2、编辑文件 /etc/glance/glance-api.conf 并完成如下动作:

●在 [database] 部分,配置数据库访问:

[database]

...

connection = mysql+pymysql://glance:adminroot@controller/glance

本案例密码用adminroot。

●在 [keystone_authtoken] 和 [paste_deploy] 部分,配置认证服务访问:

#...

auth_uri = http://controller:5000

auth_url = http://controller:35357

memcached_servers = controller:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = glance

password = adminroot

#...

flavor = keystone

注解:将 GLANCE_PASS 替换为你为认证服务中 glance 用户选择的密码。在 [keystone_authtoken] 中注释或者删除其它选项。

●在 [glance_store] 部分,配置本地文件系统存储和镜像文件位置:

[glance_store]

#...

stores = file,http

default_store = file

filesystem_store_datadir = /var/lib/glance/images/

3、编辑文件“/etc/glance/glance-registry.conf”并完成如下动作:

●在 [database] 部分,配置数据库访问:

[database]

#...

connection = mysql+pymysql://glance:adminroot@controller/glance

本案例密码用adminroot。

●在 [keystone_authtoken] 和 [paste_deploy] 部分,配置认证服务访问:

#...

auth_uri = http://controller:5000

auth_url = http://controller:35357

memcached_servers = controller:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = glance

password = adminroot

...

 [paste_deploy]

flavor = keystone

注解:在 [keystone_authtoken] 中注释或者删除其他选项。

4、同步镜像服务数据库

# su -s /bin/sh -c "glance-manage db_sync" glance

 注解:忽略输出中任何信息。

b41dc08b0ceb1fc4b91413275dda1ac3.png

图3-3-6 同步数据库

四、启动镜像服务

# service glance-registry restart

# service glance-api restart

五、校验操作

这里使用“CirrOS” (http://launchpad.net/cirros)对镜像服务进行验证,CirrOS是一个小型的Linux镜像可以用来进行 OpenStack部署测试。在控制节点上执行这些命令。

1、获得 admin 凭证来获取只有管理员能执行的命令的访问权限。

$ . admin-openrc

2、下载源镜像:

用命令实现:

 wget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

731b87fbbd0b77f583e199e475da3505.png

图3-3-7 下载镜像

3、上传镜像

使用 QCOW2 磁盘格式,bare容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它。

命令:openstack image create "cirros" \

  --file cirros-0.3.4-x86_64-disk.img \

  --disk-format qcow2 --container-format bare \

  --public

cbcc951ad5442f4f70364f6b47ac9d5a.png

图3-3-8 上传镜像

4、确认镜像的上传并验证。

命令:openstack image list

514fd47e7a7c42c3bbb28619dc26a030.png

图3-3-8 查看镜像

巩固与思考

1、镜像服务除按教师提供的方式获取外,还可以怎样获取?

2、镜像服务在OpenStack云平台中启到什么作用?没有镜像服务会有什么影响?

关注本微信公众号有更多信息:

72fe2b81029db07e1e473306989f79ea.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值