openstack基础环境安装完成后,现在开启安装keystone服务(在控制节点上执行下面所有操作)

1、为keystone创建数据库

mysql -u root -p
MariaDB [(none)]> CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone';

2、配置keystone

# yum install openstack-keystone httpd mod_wsgi

修改配置文件/etc/keystone/keystone.conf,在[database]部分配置下面配置:

connection = mysql+pymysql://keystone:keystone@192.168.101.10/keystone

在[token]下面添加如下:

provider = fernet

进行验证:

[root@node1 ~]# egrep "^provider" /etc/keystone/keystone.conf
provider = fernet

3、进行keystone同步数据:

# su -s /bin/sh -c "keystone-manage db_sync" keystone         同步数据

可以在日志中进行查看:

/var/log/keystone/keystone.log   记录着同步数据库

4、初始化fernet key仓库

# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

5、Bootstrap the Identity service:

# keystone-manage bootstrap --bootstrap-password bootstrap  --bootstrap-admin-url http://192.168.101.10:35357/v3/  --bootstrap-internal-url http://192.168.101.10:5000/v3/  --bootstrap-public-url http://192.168.101.10:5000/v3/  --bootstrap-region-id RegionOne

这里设置的账号密码admin:bootstrap非常重要,后面要经常用到

然后将httpd服务与keystone进行结合:

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.service
# systemctl start httpd.service

4、配置admin管理用户(权限管理),在当前session执行就行

# export OS_USERNAME=admin
# export OS_PASSWORD=bootstrap 这里的密码对应keystone-manage bootstrap
# export OS_PROJECT_NAME=admin
# export OS_USER_DOMAIN_NAME=Default
# export OS_PROJECT_DOMAIN_NAME=Default
# export OS_AUTH_URL=http://192.168.101.10:35357/v3 35357是管理端口
# export OS_IDENTITY_API_VERSION=3

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

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

创建一个demo项目:
# openstack project create --domain default --description "Demo Project" demo

创建一个demo 用户:

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

需要设定并输入密码:demo

创建一个user 角色:
# openstack role create user

将user这个角色添加到demo项目以及demo用户中:

# openstack role add --project demo --user demo user

note:service项目用来添加各个服务:glance、nova等等

校验上面的操作:
1、修改配置文件/etc/keystone/keystone-paste.ini
  将admin_token_auth从配置文件中的sections:[pipeline:public_api]、[pipeline:admin_api]、[pipeline:api_v3]移除
  由于没有,所以这步骤没有更改
2、取消变量OS_AUTH_URL OS_PASSWORD
# unset OS_AUTH_URL OS_PASSWORD

3、使用admin用户来请求一个认证token:

# openstack --os-auth-url http://192.168.101.10:35357/v3  --os-project-domain-name Default --os-user-domain-name Default  --os-project-name admin --os-username admin token issue

这里需要输入密码:bootstrap

4、使用demo用户来请求认证token
# openstack --os-auth-url http://192.168.101.10:5000/v3 --os-project-domain-name Default --os-user-domain-name Default --os-project-name demo --os-username demo token issue

这里需要输入密码:demo

至此keystone服务安装完成
 
将上述admin、demo的项目和用户的信息写到一个脚本变量中,用到的时候source一下就可以,不必export一个个变量:
vim admin-openrc: 针对admin
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=bootstrap
export OS_AUTH_URL=http://192.168.101.10:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

vim demo-openrc: 针对demo
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=demo
export OS_AUTH_URL=http://192.168.101.10:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
demo的token同理上面的admin
 
keystone服务基本安装完成,其他操作继续参考官方文档
如果遇到下面错误:

请检查admin账号的密码是否正确

最新文章

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统(4)-创建项目解决方案
  2. Git命令之资源
  3. JSON-LD
  4. [译]ngclass expressions in angularjs
  5. XML 和 List 互转类
  6. 【温故而知新-Javascript】为DOM元素设置样式
  7. 使用mustache.js 模板引擎输出html
  8. JavaScript之数组循环 forEach 循环输出数组元素
  9. CentOS7.0安装与配置Tomcat-7
  10. uva 12526 - Cellphone Typing
  11. Android 实现闹钟功能
  12. html css jquery 回到顶部按钮
  13. 数的计数(number)
  14. Coursera课程 Programming Languages, Part B 总结
  15. Linux ftrace框架介绍及运用
  16. ES5 & ES6 基础
  17. VMware下Debian开发环境部署之常见问题记录
  18. Boost:shared_memory_object --- 共享内存
  19. 冲刺博客NO.5
  20. Ant详解之-path、classpath和fileset

热门文章

  1. java的list集合如何根据对象中的某个字段排序?
  2. Thymeleaf模板如何获取springMVC返回的model值
  3. json写入到excel表
  4. [Chrome] 如何下载老版本的 Chrome
  5. Microsoft Excel 标题栏或首行锁定
  6. OSharp DbContent初始化分析
  7. Boss Group Worker Group NioEventLoopGroup
  8. 具备双向通行能力的架构对于移动APP属于刚性需求。 WebSocket连接 注册信令
  9. JavaScript自定义函数
  10. 剑指Offer——数据流中的中位数