5fc84c32b135c3971.jpg_fo742.png

左大使系列文档

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,并做简单验证。

图片12.png

安装和配置

1、安装软件包:

yum install -y openstack-keystone httpd mod_wsgi

2、修改keystone的配置文件

vim /etc/keystone/keystone.conf

[database]处新增一行配置,注意其他地方都要保持注释掉的状态
图片13.png
[token]处新增一行配置,同样其他地方都要是注释掉的状态
图片14.png

3、初始化keystone数据库

su -s /bin/sh -c "keystone-manage db_sync" keystone

注意:这里执行完之后,无论失败或者成功都没有返回值。这里建议在执行完之后,验证是否执行成功。

验证方式1:
查看数据库里是否已经初始化好表

图片15.png

验证方式2:
查看keystone的日志是否有报错。执行成功日志如下:

图片16.png

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,执行过程中查看服务运行日志,出现如下图日志,则执行成功。
图片17.png

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

验证是否执行成功,查看日志:

图片18.png

配置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,并写入信息如下:
图片19.png
source adminrc 让当前会话加载下配置的环境变量

创建一个项目,域,用户和角色

1、创建一个service project

openstack project create --domain default --description "Service Project" service

图片20.png
如果这里报500错误,即是前面keystone的数据库初始化失败。

2、创建一个demo项目:

openstack project create --domain default --description "Demo Project" demo

图片21.png

创建一个demo用户:

openstack user create --domain default --password-prompt demo

图片22.png

设定密码为123456
创建一个user 角色:

openstack role create user

图片23.png

将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

图片24.png

需要输入下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

图片25.png

这里输入的是demo用户的密码,虽然还是123456
至此,验证完成!
注意:将上述admin、demo的项目和用户的信息写到不同的脚本中,用哪个项目和用户的时候source一下就可以,方便做项目和用户管理。文档里就不再赘述。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code