openstack(Pike 版)集群部署(二)--- Keystone 部署
一、介绍
参照官网部署: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 部署的更多相关文章
- openstack高可用集群16-ceph介绍和部署
Ceph Ceph是一个可靠.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备和文件系统服务.块设备存储是Ceph的强项. Ceph的主要优点是分布式 ...
- openstack pike 集群高可用 安装 部署 目录汇总
# openstack pike 集群高可用 安装部署#安装环境 centos 7 史上最详细的openstack pike版 部署文档欢迎经验分享,欢迎笔记分享欢迎留言,或加QQ群663105353 ...
- openstack高可用集群21-生产环境高可用openstack集群部署记录
第一篇 集群概述 keepalived + haproxy +Rabbitmq集群+MariaDB Galera高可用集群 部署openstack时使用单个控制节点是非常危险的,这样就意味着单个节 ...
- CentOS7.2非HA分布式部署Openstack Pike版 (实验)
部署环境 一.组网拓扑 二.设备配置 笔记本:联想L440处理器:i3-4000M 2.40GHz内存:12G虚拟机软件:VMware® Workstation 12 Pro(12.5.2 build ...
- 实现CI/CDk8s高可用集群搭建总结以及部署API到k8s
实现CI/CD(Centos7.2)系列二:k8s高可用集群搭建总结以及部署API到k8s 前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署 ...
- [转]搭建高可用mongodb集群(二)—— 副本集
在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB> 提到了几个问题还没有解决. 主节点挂了能否自动切换连接?目前需要手工切换. 主节点的读写压力过大如何解决? 从节点 ...
- 搭建高可用mongodb集群(二)—— 副本集
在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB> 提到了几个问题还没有解决. 主节点挂了能否自动切换连接?目前需要手工切换. 主节点的读写压力过大如何解决? 从节点 ...
- VLAN 模式下的 OpenStack 管理 vSphere 集群方案
本文不合适转载,只用于自我学习. 关于为什么要用OpenStack 管理 vSphere 集群,原因可以有很多,特别是一些传统企业,VMware 的使用还是很普遍的,用 OpenStack 纳管至少会 ...
- kafka集群监控之kafka-manager部署(kafka-manager的进程为:ProdServerStart)
kafka集群监控之kafka-manager部署(ProdServerStart) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 雅虎官网GitHub项目:https://git ...
- 即将上线的Kafka 集群(用CM部署的)无法使用“--bootstrap-server”进行消费,怎么破?
即将上线的Kafka 集群(用CM部署的)无法使用“--bootstrap-server”进行消费,怎么破? 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.报错:org.a ...
随机推荐
- 白鹭引擎 - 矢量绘图 ( graphics )
class Main extends egret.DisplayObjectContainer { /** * Main 类构造器, 初始化的时候自动执行, ( 子类的构造函数必须调用父类的构造函数 ...
- 07.linux系统管理命令
1.图形界面管理: 如想从图形界面切换至字符界面 输入 init 3 如想字符界面切换至图形界面 init 5 2.进程管理: kill 杀死一个进程 Kill -9 强制杀死一个进程 stat ...
- Mac安装Mysql-python _mysql.c:44:10: fatal error: 'my_config.h' file not found
解决步骤 brew install mysql brew unlink mysql brew install mysql-connector-c sed -i -e /bin/mysql_config ...
- 解析main函数的命令行参数
原创文章,转载请正确注明本文原始URL及作者. 介绍 写C/C++程序,我们常常需要把main函数的参数作为选项来传递.在linux中,解析选项有专门的函数可以用. int getopt(int ar ...
- 使用spring validation完成数据后端校验
前言 数据的校验是交互式网站一个不可或缺的功能,前端的js校验可以涵盖大部分的校验职责,如用户名唯一性,生日格式,邮箱格式校验等等常用的校验.但是为了避免用户绕过浏览器,使用http工具直接向后端请求 ...
- python day10 数据库(mysql基础)
一.数据库的概念 数据:事物的特征 数据库的本质是:通过套接字进行通信,来读存数据的一种软件,由于每次开发人员写程序都得写数据的套接字,所以诞生了数据库这个软件,减少重复劳动.(sql语句通用) 数据 ...
- fb 4.7英文版 修改字体大小
windows-preferences-general-appearance-colors and fonts-basic-text font
- python 中的比较==和is
Python 中的比较:is 与 == 在 Python 中会用到对象之间比较,可以用 ==,也可以用 is .但是它们的区别是什么呢? is 比较的是两个实例对象是不是完全相同,它们是不是同一个对象 ...
- Linux各种类型压缩包解压缩方法
Linux上经常需要处理各种类型压缩包的解包和打包处理.通常来说会处理最常见的.tar包和.tar.gz包就能解决大部分问题了,但是真碰到其他类型的压缩包还是需要知道如何进行解压缩.这里对Linux上 ...
- 更换Notepad++主题与字体(下载与配置)
本文推荐一款自用主题----tomorrow-theme!其github上有着绝大多数IDE和文本编辑器的这个主题的适配文件.可以在README中先预览一下你要的主题的具体名称.链接:https: ...