一、新建数据库及用户(控制节点)

登录数据库,创建db以及用户:

CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone2018';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone2018';
flush privileges;
exit;

二、安装keystone(控制节点)

安装软件包:

yum install -y openstack-keystone httpd mod_wsgi

修改keystone配置文件

vim /etc/keystone/keystone.conf

编辑模式下(冒号)

删除#开头行  %g/^#/d

删除空白行   %g/^$/d

[database]
connection = mysql://keystone:keystone2018@localhost/keystone
#此处不知道为啥,写主机名跟IP都不能初始化数据库,只有localhost可以
[token]
provider = fernet
#配置Fernet UUID令牌的提供者

初始化数据库

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

初始化Fernet密钥存储库:

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

配置引导标识服务

keystone-manage bootstrap --bootstrap-password 123456 \
--bootstrap-admin-url http://10.1.80.110:35357/v3/ \
--bootstrap-internal-url http://10.1.80.110:5000/v3/ \
--bootstrap-public-url http://10.1.80.110:5000/v3/ \
--bootstrap-region-id RegionOne
#记住RegionOne

配置apache httpd

vim /etc/httpd/conf/httpd.conf

#修改ServerName
ServerName 10.1.80.110:80
配置wsgi模块软件连接
ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

启动httpd

systemctl enable httpd.service
systemctl start httpd.service
systemctl status httpd.service

查看35357和5000端口有没有被监听

netstat -anpt | grep http

三、创建域、项目、用户、角色(控制节点)

使用环境变量:

export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_AUTH_URL=http://10.1.80.110:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

创建一个服务项目,名称是“service”,该服务项目包含唯一用户,它是添加到环境的所有服务的用户:

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

查看:

openstack project list

注意,其中的admin项目是自动创建的,不需要手工创建。

创建demo项目:

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

创建“demo”用户并设置密码:

openstack user create --domain default --password-prompt demo  #创建demo用户并输入密码demo2018

创建“user”角色:

openstack role create user

为“demo”项目的“demo”用户添加“user”角色:

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

四、测试令牌是否正常

取消以下两个环境变量

unset OS_AUTH_URL OS_PASSWORD

尝试用admin用户请求一个令牌看是否正常

openstack --os-auth-url http://10.1.80.110:35357/v3 \
--os-project-domain-name default --os-user-domain-name default \
--os-project-name admin --os-username admin token issue

尝试用demo用户请求一个令牌看是否正常

openstack --os-auth-url http://10.1.80.110:5000/v3 \
--os-project-domain-name default --os-user-domain-name default \
--os-project-name demo --os-username demo token issue

五、为admin和demo用户创建环境变量脚本

以上过程命令长、参数多,为了简化,分别为admin/demo用户创建环境变量脚本:

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=123456
export OS_AUTH_URL=http://10.1.80.110:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

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=demo2018
export OS_AUTH_URL=http://10.1.80.110:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

测试脚本使用

source admin-openrc
openstack token issue admin用户请求令牌 source demo-openrc
openstack token issue demo用户请求令牌

六、keystone服务正常测试

从各节点访问keystone服务,验证是否正常

curl http://10.1.80.110:35357/v3

curl http://10.1.80.110:5000/v3

查看创建的Identity服务及其endpoint:

source admin-openrc
openstack service list
openstack endpoint list

openstack Q版部署-----keystone认证服务安装配置(3)的更多相关文章

  1. S1_搭建分布式OpenStack集群_04 keystone认证服务安装配置

    一.新建数据库及用户(控制节点)# mysql -uroot -p12345678MariaDB [(none)]> CREATE DATABASE keystone;MariaDB [(non ...

  2. openstack Q版部署-----界面horizon安装(9)

    一.界面的安装 控制节点安装软件包: yum install openstack-dashboard -y [root@linux-node1 ~]# vim /etc/openstack-dashb ...

  3. openstack Q版部署-----nova服务配置-计算节点(6)

    一.服务安装(计算节点) 安装软件: yum install openstack-nova-compute -y 编辑/etc/nova/nova.conf文件并设置如下内容: [DEFAULT] e ...

  4. openstack Q版部署-----环境搭建(1)

    浏览器建议全程使用火狐或者谷歌,不然VNC可能会有问题 一.环境准备 系统:centos7.2 x86_64 controller 2c+8g+40g 10.1.80.110 可以nat上网 comp ...

  5. openstack 部署(Q版)-----keystone认证服务安装配置

    一.新建数据库及用户 CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' ID ...

  6. openstack Q版部署-----glance安装配置(4)

    镜像服务(glance)使用户能够发现,注册和检索虚拟机镜像. 它提供了一个REST API,使您可以查询虚拟机镜像元数据并检索实际镜像. 您可以将通过镜像服务提供的虚拟机映像存储在各种位置,从简单的 ...

  7. openstack 部署(Q版)-----glance镜像服务安装配置

    一.创建数据库 CREATE DATABASE glance; GRANT ALL PRIVILEGES ON glance.* TO '; GRANT ALL PRIVILEGES ON glanc ...

  8. openstack Q版部署-----Mysql、MQ、Memcached安装配置(2)

    一.安装mysql(contorller) 安装软件包: yum install -y mariadb mariadb-server python2-PyMySQL 配置my.cnf文件 vi /et ...

  9. openstack Q版部署-----网络服务(neutron)安装部署(7)

    一.数据库配置(控制节点) 控制节点创建数据库: CREATE DATABASE neutron; GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'lo ...

随机推荐

  1. 关于python类变量和实例变量

    今天在看python的类和实例的时候,突然发现了一个以前遗漏的点,也就是类变量和实例变量.首先需要理解一下类变量和实例变量的概念. 类全局变量:在类中定义,对类和由类生成的实例生效,如果通过方法对类变 ...

  2. plsql界面/command界面

    存储过程执行CALL PRO_DELETE_OND_FOR_ORDERNO('120000000208');    --在PLSQL的SQL窗口执行 EXEC PRO_DELETE_OND_FOR_O ...

  3. Java中String和byte[]间的转换浅析

    Java语言中字符串类型和字节数组类型相互之间的转换经常发生,网上的分析及代码也比较多,本文将分析总结常规的byte[]和String间的转换以及十六进制String和byte[]间相互转换的原理及实 ...

  4. Linux最常用的基础命令

    Linux最常用的基础命令个人总结 计算机基础知识: 32bit和64bit系统的区别.系统运行机制 32bit=内存的最大寻址空间是2**32,也就是说最大只能使用4GB的内存64bit=内存的最大 ...

  5. python机器学习-sklearn挖掘乳腺癌细胞(五)

    python机器学习-sklearn挖掘乳腺癌细胞( 博主亲自录制) 网易云观看地址 https://study.163.com/course/introduction.htm?courseId=10 ...

  6. MAC操作系统使用小技巧

    MAC操作系统使用小技巧   作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.修改主机名名称 1>.修改主机名称 修改和查询的Ulinx命令如下: sudo scutil ...

  7. 运维监控-Open-Falcon介绍

    运维监控-Open-Falcon介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Open-Falcon 介绍 监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事 ...

  8. 分析JVM GC Dump 工具

    GC 日志分析工具: http://gceasy.io/ JVM Dump 文件分析工具: IBM HeapAnalyzer

  9. CentOS7 图形化方式安装 Oracle 18c 单实例

    下载 Oracle 数据库,zip 包 https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.h ...

  10. JavaScript 实现一个简单的MVVM前端框架(ES6语法)

    前言 随着前端各大框架的崛起,为我们平时的开发带来了相当的便利,我们不能一直停留在应用层面,今天就自己动手实现一个乞丐版的MVVM小框架 完整代码github地址 效果 html代码 <div ...