简易手动部署多节点的Openstack(L版)——贰(安装Keystone服务)
2017-07-04 18:41
1051 查看
基础准备
在控制节点中在数据库中为Keystone创建信息。1、 用数据库连接客户端以 root 用户连接到数据库服务器:
mysql -u root -p
2、创建 keystone 数据库:
CREATE DATABASE keystone;
3、对
keystone数据库授予恰当的权限:
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \ IDENTIFIED BY 'KEYSTONE_DBPASS'; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \ IDENTIFIED BY 'KEYSTONE_DBPASS';
用合适的密码替换 KEYSTONE_DBPASS
4、退出数据库客户端。
5、生成一个随机值在初始的配置中作为管理员的令牌:
openssl rand -hex 10
注:生成的令牌要记录一下,后面会用到。
安装并配置Keystone
1、安装后禁止keystone 服务自动启动:echo "manual" > /etc/init/keystone.override #此文档使用Apache HTTP服务器与mod_wsgi,在端口5000和35357处理认证服务请求。默认情况下,keystone服务依然监听在5000和35357端口。因此,禁用keystone 服务。
2、安装包:
apt-get install keystone apache2 libapache2-mod-wsgi \ memcached python-memcache
3、编辑文件 /etc/keystone/keystone.conf 并完成如下动作:
#在[DEFAULT]部分,定义管理员token初始值,用你在前一步生成的随机数替换 ADMIN_TOKEN : [DEFAULT] ... admin_token = ADMIN_TOKEN #在 [DEFAULT]部分启用详细日志: [DEFAULT] ... verbose = True #在[database]部分,配置数据库访问: [database] ... connection = mysql+pymysql://keyst 4000 one:KEYSTONE_DBPASS@controller/keystone #KEYSTONE_DBPASS 替换为你为数据库选择的密码 #在[memcache]部分,配置Memcached服务: [memcache] ... servers = localhost:11211 #在[token]部分,配置UUID token provider 和Memcached驱动: [token] ... provider = uuid driver = memcache #在 [revoke] 部分,配置SQL 回滚驱动: [revoke] ... driver = sql
4、初始化身份认证服务的数据库:
su -s /bin/sh -c "keystone-manage db_sync" keystone
配置 Apache HTTP 服务器
1、编辑/etc/apache2/apache2.conf文件,配置
ServerName选项为控制节点:
ServerName controller
使用下面内容创建
/etc/apache2/sites-available/wsgi-keystone.conf文件:
Listen 5000 Listen 35357 <VirtualHost *:5000> WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP} WSGIProcessGroup keystone-public WSGIScriptAlias / /usr/bin/keystone-wsgi-public WSGIApplicationGroup %{GLOBAL} WSGIPassAuthorization On <IfVersion >= 2.4> ErrorLogFormat "%{cu}t %M" </IfVersion> ErrorLog /var/log/apache2/keystone.log CustomLog /var/log/apache2/keystone_access.log combined <Directory /usr/bin> <IfVersion >= 2.4> Require all granted </IfVersion> <IfVersion < 2.4> Order allow,deny Allow from all </IfVersion> </Directory> </VirtualHost> <VirtualHost *:35357> WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP} WSGIProcessGroup keystone-admin WSGIScriptAlias / /usr/bin/keystone-wsgi-admin WSGIApplicationGroup %{GLOBAL} WSGIPassAuthorization On <IfVersion >= 2.4> ErrorLogFormat "%{cu}t %M" </IfVersion> ErrorLog /var/log/apache2/keystone.log CustomLog /var/log/apache2/keystone_access.log combined <Directory /usr/bin> <IfVersion >= 2.4> Require all granted </IfVersion> <IfVersion < 2.4> Order allow,deny Allow from all </IfVersion> </Directory> </VirtualHost>
3、开启认证服务虚拟主机:
ln -s /etc/apache2/sites-available/wsgi-keystone.conf /etc/apache2/sites-enabled
4、重启Apache HTTP服务器:
service apache2 restart
5、删除Ubuntu自动创建的SQLite数据库文件,因为本文档使用的是SQL服务器:
rm -f /var/lib/keystone/keystone.db
创建服务实体和API端点
1、配置认证令牌:export OS_TOKEN=ADMIN_TOKEN #ADMIN_TOKEN为本文章开始基础准备部分第五步生成的令牌
2、配置端点URL:
export OS_URL=http://controller:35357/v3
3、配置认证 API 版本:
export OS_IDENTITY_API_VERSION=3
4、为身份认证服务创建服务实体:
openstack service create \ --name keystone --description "OpenStack Identity" identity
5、创建认证服务的 API 端点:
#############public端点服务 openstack endpoint create --region RegionOne \ identity public http://controller:5000/v2.0 #############internal端点服务 openstack endpoint create --region RegionOne \ identity internal http://controller:5000/v2.0 #############admin openstack endpoint create --region RegionOne \ identity admin http://controller:35357/v2.0[/code]为简单起见,本向导使用default 域。后续所有操作完成之后,dashboard登录界面会有个域的选择,在里面输入default之后在输入用户名和密码就可以登陆进去了。
创建项目、用户和角色
1、创建 admin 项目:openstack project create --domain default \ --description "Admin Project" admin
2、创建 admin 用户:openstack user create --domain default \ --password-prompt admin
3、创建 admin 角色:openstack role create admin
4、添加admin角色到 admin 项目和用户上:openstack role add --project admin --user admin admin
5、创建service项目:openstack project create --domain default \ --description "Service Project" service
6、创建demo项目:openstack project create --domain default \ --description "Demo Project" demo
7、创建demo用户:openstack user create --domain default \ --password-prompt demo
8、创建 user 角色:openstack role create user
9、添加 user角色到demo 项目和用户:openstack role add --project demo --user demo user
你可以重复此过程来创建额外的项目和用户。验证Keystone(控制节点)
1、因为安全性的原因,关闭临时认证令牌机制: 编辑 /etc/keystone/keystone-paste.ini 文件,从[pipeline:public_api],[pipeline:admin_api]和[pipeline:api_v3]部分删除admin_token_auth 。
2、重置OS_TOKEN和OS_URL环境变量:unset OS_TOKEN OS_URL
3、使用 admin 用户,请求认证令牌:openstack --os-auth-url http://controller:35357/v3 \ --os-project-domain-id default --os-user-domain-id default \ --os-project-name admin --os-username admin aa42 --os-auth-type password \ token issue # 输入的密码是admin用户的密码
4、使用demo用户,请求认证令牌:openstack --os-auth-url http://controller:5000/v3 \ --os-project-domain-id default --os-user-domain-id default \ --os-project-name demo --os-username demo --os-auth-type password \ token issue #输入demo用户的密码创建 OpenStack 客户端环境脚本
目的:提升客户端操作的效率。
1、编辑文件 admin-openrc.sh 并添加如下内容(创建可在任意目录下,没有特殊设置的话使用时也要在该目录中才行,所以请记住文件所在目录):export OS_PROJECT_DOMAIN_ID=default export OS_USER_DOMAIN_ID=default export OS_PROJECT_NAME=admin export OS_TENANT_NAME=admin export OS_USERNAME=admin export OS_PASSWORD=ADMIN_PASS export OS_AUTH_URL=http://controller:35357/v3 export OS_IDENTITY_API_VERSION=3 # 把 ADMIN_PASS 替换为你在认证服务中为 admin 用户选择的密码
2、编辑文件 demo-openrc.sh 并添加如下内容(创建同上):export OS_PROJECT_DOMAIN_ID=default export OS_USER_DOMAIN_ID=default export OS_PROJECT_NAME=demo export OS_TENANT_NAME=demo export OS_USERNAME=demo export OS_PASSWORD=DEMO_PASS export OS_AUTH_URL=http://controller:5000/v3 export OS_IDENTITY_API_VERSION=3 # 将 DEMO_PASS 替换为你在认证服务中为 demo 用户选择的密码
3、加载admin-openrc.sh文件,通过脚本中设置的环境变量和admin项目信息来进行认证,使客户端获取相应的tonken权限(脚本的使用):source admin-openrc.sh
4、请求认证令牌:openstack token issue
本文基于参考文章撰写,根据自己的理解对于翻译难以理解的部分进行了调整,此博文部署过程亲测可用。
参考文章:OpenStack官方文档
相关文章推荐
- 简易手动部署多节点的Openstack(L版)——伍(安装Neutron服务)
- 简易手动部署多节点的Openstack(L版)——叁(安装Glance服务)
- Centos7手动部署Openstack Mitaka版安装配置--(三)安装keystone认证服务
- openstack-mitaka之计算服务controller节点的安装配置与部署
- openstack-mitaka之Telemetry服务(blockstorage节点安装部署)
- CentOS 7部署OpenStack(2)―安装keystone服务
- openstack-mitaka之计算服务管理安装配置部署(计算节点安装部署)
- Openstack 安装部署指南翻译系列 之 Keystone服务安装(Identity)
- openstack安装部署6——网络服务(控制节点&计算节点)
- openstack安装部署5——计算服务(控制节点&计算节点)
- Centos7手动部署Openstack Mitaka版安装配置--(五)安装nova计算服务
- openstack-mitaka之Telemetry服务(blockstorage节点安装部署)
- 简易手动部署多节点的Openstack(L版)——壹(前期准备)
- CentOS 7部署OpenStack(2)―安装keystone服务
- 简易手动部署多节点的Openstack(L版)——柒(创建网络,启动实例)
- OpenStack(Kilo版本)控制节点基本环境和身份验证服务的安装部署
- [部署篇2]VMWare搭建Openstack——控制节点的KeyStone的安装
- openstack-mitaka之Telemetry服务(computer节点安装部署)
- openstack-mikata之网络服务(计算节点安装部署)