声明:最近在进行openstack的kilo版本的安装,发现现有的网络教程非常少,而且多数教程并不能安装成功,故写此教程。openstack的安装较为复杂,本教程并不能保证在不同环境下也能将其安装成功。个人安装教程,也难免出错。同时,安装是在虚拟机环境下,真实安装环境需要进行更改。
转载请声明出处:
作者:张某人ER
原文链接:http://blog.csdn.net/xinxing__8185/article/details/51114658
openstack身份认证服务(Identity Service),即keystone,是为openstack云环境中的用户的账户和角色信息提供认证和管理服务的。这是一个关键的服务,openstack云环境中所有服务之间的鉴权和认证都需要经过它,所以它也是openstack环境中第一个安装的服务。经openstack身份认证服务认证之后,它会返回一个在openstack各个服务之间传输用的鉴权秘钥。接下来就可以用这个秘钥来为某个具体服务做鉴权和验证,如openstack的存储和计算服务。因此,第一步就要配置openstack身份认证服务,并为用户创建合适的角色,以及服务、租户、用户账户和服务API endpoints,这些服务构成了我们的云基础设施。
在controller节点上,进行如下操作:
yum install mariadb mariadb-server MySQL-python
vim /etc/my.cnf.d/mariadb_openstack.cnf
[mysqld] bind-address = 10.10.10.10 default-storage-engine = innodb innodb_file_per_table collation-server = utf8_general_ci init-connect = 'SET NAMES utf8' character-set-server = utf8
systemctl enable mariadb.service systemctl start mariadb.service
mysql_secure_installation
注:设置root密码(暂定openstack) ,可更改
yum install rabbitmq-server
启动:
systemctl enable rabbitmq-server.service systemctl start rabbitmq-server.service
添加用户和设置权限
注:用户名:openstack 密码openstack,可以替换
rabbitmqctl add_user openstack openstack rabbitmqctl set_permissions openstack ".*" ".*" ".*"
mysql -u root -p
操作如下 :
CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'KEYSTONE_DBPASS'; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DBPASS'; quit
其中,KEYSTONE_DBPASS为密码,可以设置成相应的密码,如openstack
安装相应包
yum install openstack-keystone httpd mod_wsgi python-openstackclient memcached python-memcached
启动服务
systemctl enable memcached.service systemctl start memcached.service
修改配置文件
vim /etc/keystone/keystone.conf
相关修改如下:
在[DEFAULT]标签下 将admin_token前的#去掉 并将值修改为openstack,当然其它密码值也可,官方文档建议 使用openssl rand -hex 10 生成更复杂的密码 去掉verbose前的#去掉,并将值修改为True [database] connection = mysql://keystone:KEYSTONE_DBPASS@controller/keystone [memcache] server 去掉# [revoke] driver=keystone.contrib.revoke.backends.sql.Revoke去掉# [token] 去掉provider = keystone.token.providers.uuid.Provider # driver=keystone.token.persistence.backends.sql.Token 改为 driver = keystone.token.persistence.backends.memcache.Token
更新同步数据库
keystone-manage db_sync
su -s /bin/sh -c "keystone-manage db_sync" keystone