一、介绍

  参照官网部署: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

    

谢谢!!

openstack(Pike 版)集群部署(二)--- Keystone 部署的更多相关文章

  1. openstack高可用集群16-ceph介绍和部署

    Ceph Ceph是一个可靠.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备和文件系统服务.块设备存储是Ceph的强项. Ceph的主要优点是分布式 ...

  2. openstack pike 集群高可用 安装 部署 目录汇总

    # openstack pike 集群高可用 安装部署#安装环境 centos 7 史上最详细的openstack pike版 部署文档欢迎经验分享,欢迎笔记分享欢迎留言,或加QQ群663105353 ...

  3. openstack高可用集群21-生产环境高可用openstack集群部署记录

    第一篇 集群概述 keepalived + haproxy +Rabbitmq集群+MariaDB Galera高可用集群   部署openstack时使用单个控制节点是非常危险的,这样就意味着单个节 ...

  4. CentOS7.2非HA分布式部署Openstack Pike版 (实验)

    部署环境 一.组网拓扑 二.设备配置 笔记本:联想L440处理器:i3-4000M 2.40GHz内存:12G虚拟机软件:VMware® Workstation 12 Pro(12.5.2 build ...

  5. 实现CI/CDk8s高可用集群搭建总结以及部署API到k8s

    实现CI/CD(Centos7.2)系列二:k8s高可用集群搭建总结以及部署API到k8s 前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署 ...

  6. [转]搭建高可用mongodb集群(二)—— 副本集

    在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB> 提到了几个问题还没有解决. 主节点挂了能否自动切换连接?目前需要手工切换. 主节点的读写压力过大如何解决? 从节点 ...

  7. 搭建高可用mongodb集群(二)—— 副本集

    在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB> 提到了几个问题还没有解决. 主节点挂了能否自动切换连接?目前需要手工切换. 主节点的读写压力过大如何解决? 从节点 ...

  8. VLAN 模式下的 OpenStack 管理 vSphere 集群方案

    本文不合适转载,只用于自我学习. 关于为什么要用OpenStack 管理 vSphere 集群,原因可以有很多,特别是一些传统企业,VMware 的使用还是很普遍的,用 OpenStack 纳管至少会 ...

  9. kafka集群监控之kafka-manager部署(kafka-manager的进程为:ProdServerStart)

    kafka集群监控之kafka-manager部署(ProdServerStart) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 雅虎官网GitHub项目:https://git ...

  10. 即将上线的Kafka 集群(用CM部署的)无法使用“--bootstrap-server”进行消费,怎么破?

    即将上线的Kafka 集群(用CM部署的)无法使用“--bootstrap-server”进行消费,怎么破? 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.报错:org.a ...

随机推荐

  1. python大法好——python的下载与安装、第一个程序

    吃够了java的苦,所以python好. 打今天起,要走python了. 首先呢,学习python需要python环境.和一款得心应手的集成开发环境. python环境下载:https://mirro ...

  2. MySQL把一个大表拆分多个表后,如何解决跨表查询效率问题

    大表分表后每个表的结构相同,可以用sql的union 比如a,b表结构相同可以通过union来联接 select * from aunion allselect * from bwhere.... 其 ...

  3. [手把手教你] 用Swoft 搭建微服务(TCP RPC)

    序言 Swoft Framework 基于 Swoole 原生协程的新时代 PHP 全栈式协程框架 Swoft 是什么? Swoft 框架是首个基于Swoole 原生协程的新时代 PHP高性能协程全栈 ...

  4. .net DLL 注册 regasm delphi调用

    .net DLL 注册 regasm regasm regasm myTest.dll regasm.exe 打开vs2005自带的工具“Visual Studio 2005命令提示”,输入上述命令 ...

  5. OWASP安全编码规范快速参考指南

    0x00 原则 概览 开发安全的软件需要对安全原则有基本的了解.虽然对于安全原则的全面评估超出了本指南的范围,但是我们还是提供了一个快速的概览.软件安全的目标是要维护信息资源的 保密性 ,  完整性 ...

  6. 灵活控制 Hibernate 的日志或 SQL 输出,以便于诊断

    我们在使用 Hibernate 时一般只会关注是否显示生成的 SQL 语句,不过有些时候还不够.默认时 Hibernate 执行的 SQL 语句是打印在控制台上的,它也可以配置为输出给 Log4J 或 ...

  7. ie11 调试工具不能使用

    使用ie11仿真ie8测试兼容性的时候,方便调试 dom和仿真都不能用 搜索 https://www.ludou.org/win7-ie-11-f12-bug.html也有相关问题 安装补丁 64位的 ...

  8. [原创]HTML 用div模拟select下拉框

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML xmlns=" ...

  9. javascript 模拟java 实现继承的5种方式

    1.继承第一种方式:对象冒充 function Parent(username){ this.username = username; this.hello = function(){ alert(t ...

  10. python的垃圾回收机制【转】

    http://python.jobbole.com/82061/ http://www.jianshu.com/p/1e375fb40506 https://www.cnblogs.com/vamei ...