openstack学习笔记4-镜像服务安装与配置

目录:

0 实验环境

1 概述

2 安装和配置

2.1 先决条件

2.2 安装和配置

2.3 配置服务

3 验证


0 实验环境

openstack版本:train

实验平台:vmware workstation 15.1

实验虚拟机:centos 7.6,2核,4G内存

操作节点:控制节点

本文涉及的帐号密码:

mysql数据库管理员:root:samplepass

glance数据库用户:glance:gdbpass

glance服务用户:glance:gpass

1 概述

镜像服务(glance)项目提供了一项服务,用户可以在其中上传和发现要与其他服务一起使用的数据资产,当前包括镜像和元数据定义。

Glance映像服务包括发现、注册和检索虚拟机映像。Glance有一个RESTful API,允许查询虚拟机镜像元数据和检索实际映像。

2 安装和配置

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

2.1 先决条件

在安装和配置镜像服务之前,必须创建数据库、服务凭据和API端点。

a)创建和配置数据库

# mysql -u root -p    //连接mysql数据库
MariaDB [(none)]> CREATE DATABASE glance;    //新建glance数据库
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost'  IDENTIFIED BY 'gdbpass';    //为用户glance本地登录授权,并设置密码为gdbpass
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%'  IDENTIFIED BY 'gdbpass';    //为用户glance远程登录授权,并设置密码为gdbpass
MariaDB [(none)]> quit;    //退出

 b)为了执行管理员才能使用的命令,引用admin的身份参数:

# . admin-openrc    //注意,命令是点,空格,文件名

c)创建服务所需要的身份信息:

# openstack user create --domain default --password-prompt glance  //创建用户glance并设置密码

# openstack project create --domain default g_service    //添加项目g_service

# openstack role add --project g_service --user glance admin    //为g_service项目的glance用户分配admin角色

上条命令没有任何提示,我们可以查看角色分配列表进行查看:

# openstack role assignment list --names

# openstack service create --name glance  --description "OpenStack Image" image    //创建名称为glance,类型为image的服务,也就是镜像服务

d)创建API端点:

# 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   //创建管理接口的端点

查看端点列表,可以看到组件通过端点来提供服务,端点可以理解为某种服务的访问地址:

2.2 安装和配置

a)安装软件包

# yum install openstack-glance

b)编辑配置文件/etc/glance/glance-api.conf

[database]节点,配置数据库连接字符串:

 在[keystone_authtoken][paste_deploy]节点,配置身份认证参数(由于参数太多并且分散,我把参数集中在了各节点的最后部分):

[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 = g_service
username = glance
password = gpass

[paste_deploy]
# ...
flavor = keystone

图1 keystone_authtoken节点

 图2 paste_depley节点

[glance_store]节点,配置镜像的本地存储方式和存储路径:

[glance_store]
# ...
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/

 c)初始化glance数据库,成功会有提示信息:

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

2.3 配置服务

# systemctl enable --now openstack-glance-api

3 验证

我们使用一个linux小镜像CirrOS来验证glance服务

a)使用admin环境变量:

# . admin-openrc

b)下载CirrOS镜像文件:

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

c)上传镜像文件到镜像服务,使用qcow2文件格式,bare格式的容器,对所有项目可见。

# glance image-create --name "cirros" --file cirros-0.5.0-x86_64-disk.img --disk-format qcow2 --container-format bare --visibility public

 d)查看镜像列表:

# glance image-list

原文地址:https://www.cnblogs.com/learn2teach/p/12424691.html