centos7安装openstack单机版2-kystone
左大使系列文档
centos7安装openstack单机版1-环境准备
centos7安装openstack单机版2-kystone
centos7安装openstack单机版3-glance
centos7安装openstack单机版4-nova
centos7安装openstack单机版5-neutron
centos7安装openstack单机版6-Dashboard-horizon
安装keystone
准备工作
1、登录数据库:
非容器环境:mysql -uroot -p123456
容器环境:docker exec -ti mysql mysql -uroot -p123456
2、创建keystone的库,一定要注意必须是utf8的字符集
mysql> CREATE DATABASE keystone character set utf8;
3、创建keystone账号并赋所有权限到keystone库:
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '123456';
4、退出mysql,并做简单验证。
安装和配置
1、安装软件包:
yum install -y openstack-keystone httpd mod_wsgi
2、修改keystone的配置文件
vim /etc/keystone/keystone.conf
[database]处新增一行配置,注意其他地方都要保持注释掉的状态
[token]处新增一行配置,同样其他地方都要是注释掉的状态
3、初始化keystone数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone
注意:这里执行完之后,无论失败或者成功都没有返回值。这里建议在执行完之后,验证是否执行成功。
验证方式1:
查看数据库里是否已经初始化好表
验证方式2:
查看keystone的日志是否有报错。执行成功日志如下:
4、初始化fernet key仓库
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
建议在执行上面的命令前,tail -f /var/log/keystone/keystone.log
,执行过程中查看服务运行日志,出现如下图日志,则执行成功。
5、Bootstrap the Identity service:
keystone-manage bootstrap --bootstrap-password 123456 \
--bootstrap-admin-url http://controller:35357/v3/ \
--bootstrap-internal-url http://controller:5000/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne
验证是否执行成功,查看日志:
配置httpd服务
1、修改配置文件/etc/httpd/conf/httpd.conf,在配置文件中添加一行
ServerName 192.168.101.10
2、创建链接
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
3、将httpd服务加入开机自启动并启动服务:
systemctl enable httpd
systemctl start httpd
4、配置admin用户的环境变量:
新建一个文件adminrc,并写入信息如下:
source adminrc
让当前会话加载下配置的环境变量
创建一个项目,域,用户和角色
1、创建一个service project
openstack project create --domain default --description "Service Project" service
如果这里报500错误,即是前面keystone的数据库初始化失败。
2、创建一个demo项目:
openstack project create --domain default --description "Demo Project" demo
创建一个demo用户:
openstack user create --domain default --password-prompt demo
设定密码为123456
创建一个user 角色:
openstack role create user
将user这个角色添加到demo项目以及demo用户中:
openstack role add --project demo --user demo user
这条命令没有返回值。
验证服务
1、取消变量OS_AUTH_URL OS_PASSWORD
unset OS_AUTH_URL OS_PASSWORD
这里可以echo $ OS_AUTH_URL OS 确认变量是否为空来进行验证
2、使用admin用户来请求一个认证token:
openstack --os-auth-url http://controller:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name demo --os-username demo token issue
需要输入下admin的密码123456
3、使用demo用户来请求认证token
openstack --os-auth-url http://controller:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name demo --os-username demo token issue
这里输入的是demo用户的密码,虽然还是123456
至此,验证完成!
注意:将上述admin、demo的项目和用户的信息写到不同的脚本中,用哪个项目和用户的时候source一下就可以,方便做项目和用户管理。文档里就不再赘述。