今天就开始来讲讲安装openstack中的组件,那么就从keystone这个安全认证服务来安装吧,当然,在安装前都是有一些准备工作要做的。
首先来说下keystone是干啥的吧。
其实在早起的openstack中是没有keystone这个组件的,一些安全认证例如,用户、消息、API调用的认证等都是在Nova这个模块中的。
但是在后来的开发中,由于各种各样的模块加入到openstack中,安全认证涉及到的方面就更广了,如:用户登陆、用户消息传递、模块消息通信、服务注册等各不相同的认证,处理这些不同的安全认证变的也越来越复杂了,因此需要一个模块来管理这些不同的安全认证,keystone就应运而生了。
无论是公有云还是私有云,都会开放接口给众多用户,keystone在对众多用户进行认证的同时,有对用户的权限进行了限制,keystone会保证openstack的服务的正常注册,同时各个服务传递消息的口令验证也是由keystone来完成的。
Keystone所有的数据都是存放在数据库中,本文将以mysql为实例来讲解,mysql安装为试验性质,并不讲解各种复杂的方法,大型环境的安装请参考mysql更专业的文档。
本文使用centos7来安装keystone,特别提示:最好在keystone服务器上不要安装别的组件,否则容易出现冲突,请根据个人环境来定。
1. Mysql安装
# 下载mysqlrepo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
# 安装mysql-community-release-el7-5.noarch.rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo,/etc/yum.repos.d/mysql-community-source.repo。
# 设置mysql root密码
use mysql
update user set password=password('123456') where user='root';
exit;
# 设置iptables 防火墙
vim /etc/sysconfig/iptables #添加一下内容
-----------------------------------------------------------------------------
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-----------------------------------------------------------------------------
service iptables restart #重启下iptables
2. Keystone安装配置
# 创建数据库
mysql -u root –p123456
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone'; #创建keystone用户,密码是keystone
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone';
# 安装keystone 所需要的组件
yum -y install openstack-keystone python-keystoneclient
# 修改keystone.conf配置文件
vim /etc/keystone/keystone.conf
-----------------------------------------------------------------------------
dmin_token = 12345678 #这里可以随意写,但是需要记住
verbose = True
[database]connection = mysql://keystone:keystone@controller/keystone
-----------------------------------------------------------------------------
# 同步数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone
# 重启服务
systemctl enable openstack-keystone.service
systemctl start openstack-keystone.service
# 创建tenants, users, 和roles
keystone tenant-create --name domain--description "Admin Tenant"
keystone user-create --name domain--pass users --email [email protected]
keystone role-create --name domain
# 授权
keystone user-role-add --tenant domain--user domain --role domain
# 创建services
keystone tenant-create --name service --description "Service Tenant"
# 创建service entity 和API endpoint
keystone service-create --name keystone --type identity \--description "OpenStack Identity"
keystone endpoint-create \--service-id $(keystone service-list | awk '/ identity / {print $2}') \--publicurl http://controller:5000/v2.0 \--internalurl http://controller:5000/v2.0 \--adminurl http://controller:35357/v2.0 \--region regionOne
# 验证操作
keystone user-list # 正常显示就说明安装成功了
本文都是使用最简洁的安装方式安装的,请大家根据公司内部需求自行规划,那么keystone就算安装完成了,明天会给大家讲下Swift这个重要组件的简介,安装及加入到keystone注册服务中,后面的更精彩,请关注我啊。