所有openstack服务的安装指南链接:https://docs.openstack.org/pike/install/
最小化部署,需要按照下面指定的顺序安装以下服务:
Identity service – keystone installation for Pike
Image service – glance installation for Pike
Compute service – nova installation for Pike
Networking service – neutron installation for Pike
在安装了最小部署服务之后,我们建议安装以下组件:
Dashboard – horizon installation for Pike
Block Storage service – cinder installation for Pike
Keystone安装指南
OpenStack认证管理服务提供一个单点集成身份验证、授权和服务目录服务。其他OpenStack服务使用认证服务作为一个通用统一的API。此外,服务提供用户的信息,但不包括在OpenStack(如LDAP服务)可以集成到一个现有的基础设施。为了从认证服务中受益,其他OpenStack服务需要与身份认证服务协同工作。当一个OpenStack服务从用户那里接收一个请求,它检查与身份认证服务用户是否被授权请求。身份服务包含这些组件:
Server
一个集中的服务器使用RESTful接口提供身份验证和授权服务。
Drivers
驱动程序或服务后端集成到集中式服务器。他们是用于访问的身份信息存储库中的外部OpenStack,并且可能已经存在在OpenStack部署的基础设施(例如,SQL数据库或LDAP服务器)。
Modules
中间件模块运行在OpenStack组件的地址空间使用身份认证服务。这些模块拦截服务请求,提取用户凭证,并将它们发送到中央服务器进行授权。中间件模块和OpenStack组件之间的集成使用Python Web Server Gateway Interface。
1、安装前要先创建一个数据库keystone
创建数据库
|
1
2
|
MariaDB [(none)]> create database keystone;
Query OK, 1 row affected (0.00 sec)
|
为keystone用户赋予ALL权限,对keystone数据库
|
1
2
|
MariaDB [(none)]> grant all privileges on keystone.* to
'keystone'
@
'localhost'
identified by
'123456'
;
Query OK, 0 rows affected (0.00 sec)
|
1、安装数据包
1、编辑配置文件/etc/keystone/keystone.conf
![截图20.png wKiom1nCdniRfqNNAAALbYl5uTE181.png-wh_50]()
在[token]设置
[token]
# ...
![截图21.png wKiom1nCdpjCnKKWAAAXWQ2zrtU283.png-wh_50]()
1、生成认证服务的数据库,要以keystone用户身份来执行
1、初始化fernet
|
1
2
|
[root@controller /]
[root@controller /]
|
1、引导身份验证服务
1、配置apache服务
设置主配置文件/etc/httpd/conf/httpd.conf,将ServerName设定为controller节点名
![截图22.png wKiom1nCd4WjLlh3AAAa7i1XoD4657.png-wh_50]()
创建/usr/share/keystone/wsgi-keystone.conf的链接文件
设置apache开机启动并立刻启动
|
1
2
|
[root@controller conf.d]
[root@controller conf.d]
|
配置管理员账号的令牌文件:
|
1
2
3
4
5
6
7
8
|
root@controller ~]
export
OS_USERNAME=admin
export
OS_PASSWORD=123456
export
OS_PROJECT_NAME=admin
export
OS_USER_DOMAIN_NAME=Default
export
OS_PROJECT_DOMAIN_NAME=Default
export
OS_AUTH_URL=http:
//controller
:35357
/v3
export
OS_IDENTITY_API_VERSION=3
|
执行这个令牌文件:
检查操作:
在安装其他服务之前验证身份服务的操作是否正确,在控制器节点上执行这些命令。
1、出于安全考虑,禁用临时身份验证令牌机制:
编辑/etc/keystone/keystone-paste.ini 配置文件,在[pipeline:public_api], [pipeline:admin_api], 和[pipeline:api_v3]中移除admin_token_auth
![截图23.png wKioL1nCfYGzhEJ6AABMpZk5dGA410.png-wh_50]()
1、取消OS_AUTH_URL 和OS_PASSWORD环境变量
1、作为admin账号去请求一个认证令牌
![截图24.png wKioL1nCfdvyyfVwAAB_RrEVgk4295.png-wh_50]()
glance安装
openstack image服务可用于发现、注册及检索虚拟机镜像(image),它提供了一个RESTful的API,能够让用户查询VM镜像的元数据及通过http请求获取映像。VM镜像文件可以存储在各种存储中,如普通的文件系统、对象存储系统(openstack object storage),S3存储等。
openstack镜像服务是IaaS架构的中心,它接受来自终端用户或OpenStack计算组件的磁盘或服务器映像的API请求和元数据定义。它还支持在各种存储库类型(包括OpenStack对象存储)中存储磁盘或服务器映像。
image service由以下几个组件构成:
glance-api:接受镜像查找、检索和存储的API调用
glance-registry:存储、处理及检索镜像文件的元数据,元数据包含大小及类型等;
database:存储镜像元数据,您可以根据您的喜好选择数据库。大多数部署使用MySQL、SQLite。
Storage repository for image files:image service支持多种类型的映像文件存储机制,包括使用普通的文件系统、对象存储、RADOS块设备、HTTP。注意,一些存储库只支持只读使用。
Metadata definition service:一种针对厂商、管理、服务和用户的通用API,以便让其可以定义自己的元数据。
在controller节点配置。
准备工作:
1、需要创建一个数据库,存储凭据和API endpoints
|
1
2
|
MariaDB [(none)]> create database glance;
Query OK, 1 row affected (0.00 sec)
|
|
1
2
|
MariaDB [(none)]> grant all privileges on glance.* to
'glance'
@
'localhost'
identified by
'123456'
;
Query OK, 0 rows affected (0.00 sec)
|
|
1
2
|
MariaDB [(none)]> grant all privileges on glance.* to
'glance'
@
'%'
identified by
'123456'
;
Query OK, 0 rows affected (0.00 sec)
|
2、执行admin环境以便创建用户
2、创建服务凭证,完成以下步骤:
创建glance用户
![截图25.png wKioL1nCfo_hLQ-uAABKoIgvoRA107.png-wh_50]()
添加用户glance到admin角色和service项目
![截图26.png wKioL1nCfrqzxsQhAABmGGAPuuA596.png-wh_50]()
![截图27.png wKioL1nCfs6giXo_AABTFH7u6Xg593.png-wh_50]()
该命令没有任何输出
创建glance服务项
![截图28.png wKiom1nCfzLzdBEjAAAsXMw6UkM799.png-wh_50]()
2、创建镜像服务的API endpoints:
![截图29.png wKioL1nCfxSx7madAABbEvls4y4065.png-wh_50]()
安装并配置glance
1、安装包
1、编辑/etc/glance/glance-api.conf并完成以下配置
![截图30.png wKioL1nCfzuQgh60AAAfkTKRtNQ464.png-wh_50]()
在[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 = 123456
![截图31.png wKiom1nCf4fAQK2KAAAj52EkyWM586.png-wh_50]()
[paste_deploy]
# ...
flavor = keystone
在[glance_store]部分配置本地文件系统存储和位置
[glance_store]
stores = file,http
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
![截图32.png wKiom1nCf6rx6xgNAAAZMuH5zGE991.png-wh_50]()
1、编辑/etc/glance/glance-registry.conf配置文件完成以下配置:
在[database]部分配置数据库的访问
connection = mysql+pymysql://glance:123456@controller/glance
[keystone_authtoken]
# ...
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
![截图33.png wKiom1nCf8zj6RK8AAAi9St8ECI577.png-wh_50]()
[paste_deploy]
flavor = keystone
4产生glance服务数据库
![截图34.png wKiom1nCf-LjnbHbAAETtZNboXw966.png-wh_50]()
1、启动服务并设置开机启动
|
1
2
|
[root@controller /]
[root@controller /]
|
检查操作:
1需要admin凭证在命令行下操作:
1、下载源镜像
1、上传镜像到镜像服务
![截图35.png wKiom1nCgKvwFLQXAADDojtvaNs984.png-wh_50]()
1、确认镜像上传并验证属性
![截图36.png wKioL1nCgM_QAdB2AABaF22uDgc005.png-wh_50]()
![截图37.png wKioL1nCgQHj9SwXAABRkYJAfJc414.png-wh_50]()
本文转自柴鑫旺 51CTO博客,原文链接:http://blog.51cto.com/chaixinwang/1967323,如需转载请自行联系原作者