一、介绍

  参照官网部署:https://docs.openstack.org/keystone/queens/install/

  继续上一博客进行部署:http://www.cnblogs.com/weijie0717/p/8549541.html

二、部署 keystone 

  1、配置数据库  (任意controller 节点操作)

    # mysql  -uroot -p

      mysql> CREATE DATABASE keystone; 

      mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost'  IDENTIFIED BY 'KEYSTONE_DBPASS';

      mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DBPASS';

      

  2、keystone 包安装(所有 controller 节点)

    # yum install openstack-keystone httpd mod_wsgi

  3、编辑keystone 配置 (所有 controller 节点)

    # vim /etc/keystone/keystone.conf     

[database]
connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone #controller 为Mysql-ha-vip hosts. [token]
provider = fernet

  4、初始化数据库 keystone (all controller 节点操作)

    # 初始化是因为python的orm对象关系映射,需要初始化来生成数据库表结构

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

  5、初始化 Fernet key仓库  (all controller 节点操作

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

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

  6、keystone 身份认证服务引导API 配置 (all controller 节点操作 )

   # keystone-manage bootstrap --bootstrap-password ADMIN_PASS   --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

  7、配置 Apache 服务 (所有 controller 节点)

    a、修改 ServerName

      # vim /etc/httpd/conf/httpd.conf 

        ServerName 主机名       #hostname 查询主机名

    b、创建连接文件 /usr/share/keystone/wsgi-keystone.conf ,并修改:

      # ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

      # vim /etc/httpd/conf.d/wsgi-keystone.conf      #绑定服务今天IP地址

        Listen 节点网卡IP:5000

        Listen 节点网卡IP:35357

    c、重启httpd 服务,并设置开机自启动。

      # systemctl enable httpd.service

      # systemctl start httpd.service

      备注:haproxy 默认的配置文件会占用一个 5000端口,和 keystone 的5000 端口冲突,会导致http服务启动失败。注释haproxy 5000 端口配置,重启haproxy--> 重启httpd 服务。

      

  8、配置 keystone-admin 和 keystone-public、keystone-internal   的haproxy  (所有 controller 节点)

    博客参照:http://www.cnblogs.com/weijie0717/p/8530102.html

   9、创建 USER: admin、demo 的认证变量 ,后期验证keystone 使用。 (所有 controller 节点)

    # cd /root

    # vim admin-openrc      

export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS #第六步中的 ADMIN_PASS
export OS_AUTH_URL=http://controller:35357/v3 # keystone-haproxy-vip
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

    # vim demo-openrc       

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_PASS # 后期创建demo 用户时设置的密码。
export OS_AUTH_URL=http://controller:5000/v3 #keystone-haproxy-vip
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

     #使用或切换变量。    

      # source  admin-openrc  

      # source demo-openrc    

三、创建 domain、projects、users、roles    (在任意controller 节点操作)

  1、创建domain

    # openstack domain create --description "An Example Domain" example

    

  2、创建projects

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

    

    # openstack project create --domain default   --description "Demo Project" demo     #创建demo projiect

    

  3、创建 users

    # openstack user create --domain default --password-prompt demo     #创建 demo 用户,需要输入密码。

    

  4、创建 role:

    # openstack role create user

     

  5、给demo 用户 分配 user 角色。

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

 五、验证keystone 服务。 (在任意controller 节点操作)

  1、验证用户

    #  unset OS_AUTH_URL OS_PASSWORD

    a、admin 用户

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

      

    b、demo 用户

      # 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

      

部署完成。

续:查看信息等常用命令

  1、查看 catalog 信息

    # openstack catalog list

    

  2、查看 endpoint 信息

    # openstack endpoint list

    

  3、查看当前openstack所提供的服务列表

    # openstack service list

    

  4、查看域列表

    # openstack domain list

    

  5、查看帮助

    # openstack --help

  6、申请token 操作,需要配合 之前别写好的 admin-openrc和 demo-openrca脚本

    #  source admin-openrc

    #  openstack token issue

    

谢谢!!

最新文章

  1. javascript 转盘抽奖代码和计数器代码
  2. 记一次Redis和NetMQ的测试
  3. wamp2.5 不能运行在win2003的解决方法
  4. css透明属性
  5. C++函数的参数传递机制以及参数的类型选择
  6. oracle创建job方法
  7. 五子棋-b
  8. HSSFClientAnchor(int dx1,int dy1,int dx2,int dy2,short col1,int row1,short col2, int row2)
  9. js-时间函数相互转化
  10. USACO Section 1.3 Barn Repair 解题报告
  11. JavaScript之去除前后空格//g
  12. 语音识别完成诗句的查询功能,iOS AVSpeechSynthesis语音输出结果的诗歌APP
  13. MySql恢复密码的过程
  14. springMVC--annotation
  15. 通过Response下载。
  16. [转]Jboss基础
  17. 将jsp页面转pdf
  18. bzoj5109(图论好题)
  19. asp.net mvc controller调用js
  20. 基于request.getAttribute与request.getParameter的区别详解

热门文章

  1. 函数参数,const 引用 和 非 const引用是不同的函数。
  2. LeetCode 题解 Search a 2D Matrix II。巧妙!
  3. NSMapTable
  4. Activity生命周期,切换,参数传递,bundle(包),值对象,Activity参数返回,Activity的启动模式
  5. 一套海量在线用户的移动端IM架构设计实践分享(含详细图文)(转)
  6. Linux文件的时间
  7. VMware Harbor学习
  8. 切换用户身份su与sudo
  9. Redis进阶实践之六Redis Desktop Manager连接Windows和Linux系统上的Redis服务(转载6)
  10. vue项目动态控制数据变动时箭头样式