#官网地址:https://docs.openstack.org/keystone/stein/install/keystone-install-rdo.html

#:创建库,并授权

MariaDB [(none)]> CREATE DATABASE keystone;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone123'; #: 在控制端安装keystone服务 [root@localhost ~]# yum install openstack-keystone httpd mod_wsgi -y #: 配置keystone [root@localhost ~]# vim /etc/keystone/keystone.conf
[database]
connection=mysql+pymysql://keystone:keystone123@www.magedu.net/keystone [token]
provider = fernet #: 解析域名 [root@localhost ~]# vim /etc/hosts
192.168.7.101 www.magedu.net #: 安装haproxy [root@localhost ~]# yum install haproxy -y #: 配置haproxy [root@localhost ~]# vim /etc/haproxy/haproxy.cfg
listen mysqlserver
bind 192.168.7.101:3306
mode tcp
server mysql 192.168.7.105:3306 check inter 2s fall 3 rise 5 #:配置sysctl [root@localhost ~]# vim /etc/sysctl.conf
net.ipv4.ip_nonlocal_bind = 1
[root@localhost ~]# sysctl -p #: 启动haproxy [root@localhost ~]# systemctl start haproxy
[root@localhost ~]# systemctl enable haproxy #:初始化数据库 [root@localhost ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone

#: 提供两个认证文件

[root@localhost ~]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
[root@localhost ~]# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

#:修改http 的配置

[root@localhost ~]# vim  /etc/httpd/conf/httpd.conf
ServerName 192.168.7.101:80

#:做一个软连接

[root@localhost ~]# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

#:绕过keystone用命令生成token
  [root@node1 ~]# openssl rand -hex 10
   de844334c3e60d1ae559                #随便找一台机子生成字符串
  [root@controller1 ~]# vim /etc/keystone/keystone.conf
   admin_token = de844334c3e60d1ae559
 
 #:再次做一次初始化
 
  [root@localhost ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone
 
 #:新打开一个窗口导入环境变量
 
 [root@localhost ~]# export  OS_TOKEN=de844334c3e60d1ae559
 [root@localhost ~]# export OS_URL=http://192.168.7.101:5000/v3
 [root@localhost ~]# export OS_IDENTITY_API_VERSION=3
 
 #: 启动httpd服务
 
 [root@localhost ~]# systemctl start httpd
 [root@localhost ~]# systemctl enable httpd
 

#: 创建一个default域
 
[root@controller1 ~]# openstack domain create --description "Default Domain" default
 
#:在default域中创建一个admin项目
 
[root@controller1 ~]# openstack project create --domain default --description "Admin Project" admin
 
#:在default域中创建一个admin的用户(密码是admin)
 
[root@controller1 ~]# openstack user create --domain default --password-prompt admin
 
#:创建一个admin角色,一个项目里面可以有多个角色
 
[root@controller1 ~]# openstack role create admin
 
#:给admin项目添加一个用户叫admin,并将其添加至admin角色中
 
[root@controller1 ~]# openstack role add --project admin --user admin admin
 
#:再在default域中创建一个demo项目
 
[root@controller1 ~]# openstack project create --domain default --description "Demo Project" demo
 
#:在default域中创建一个demo用户(密码是demo)
 
[root@controller1 ~]#  openstack user create --domain default --password-prompt demo
 
#:创建一个user角色
 
[root@controller1 ~]# openstack role create user
 
#:给demo项目添加一个用户叫demo,并将其添加至user角色中
 
[root@controller1 ~]# openstack role add --project demo --user demo user
 
#:创建一个service项目
 
[root@controller1 ~]# openstack project create --domain default   --description "Service Project" service
 
#:创建一个类型为identity的service
 
[root@controller1 ~]# openstack service create  --name keystone --description "OpenStack Identity" identity
 
#:注册API
 
[root@localhost ~]# openstack endpoint create --region RegionOne identity public http://www.magedu.net:5000/v3
[root@localhost ~]# openstack endpoint create --region RegionOne identity internal http://www.magedu.net:5000/v3
[root@localhost ~]# openstack endpoint create --region RegionOne identity admin http://www.magedu.net:5000/v3
 
#:新打开一个窗口,测试
 
[root@localhost ~]# export OS_IDENTITY_API_VERSION=3
[root@localhost ~]# openstack --os-auth-url http://www.magedu.net:5000/v3 --os-project-domain-name default --os-user-domain-name default  --os-project-name admin  --os-username admin token issue
 
#: 创建脚本
 
[root@localhost ~]# mkdir scripts
[root@localhost ~]# cd scripts/
[root@localhost scripts]# vim admin-stein.sh
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
export OS_AUTH_URL=http://www.magedu.net:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
 
[root@localhost scripts]# vim demo-stein.sh
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://www.magedu.net:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
 
#:测试
 
[root@localhost ~]# source scripts/admin-stein.sh
[root@localhost ~]# openstack token issue
[root@localhost ~]# source scripts/demo-stein.sh
[root@localhost ~]# openstack token issue
 

OpenStack之四: keystone验证服务(端口5000)的更多相关文章

  1. openstack Keystone验证服务集群

    #Keystone验证服务群集 openstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html ##.Keystone验证服务集群 ...

  2. ##3.Keystone 验证服务--openstack

    ##3.Keystone 验证服务 openstack pike 安装 目录汇总 http://www.cnblogs.com/elvi/p/7613861.html #SQL上创建数据库并授权 #K ...

  3. Windows使用telnet验证服务端口是否通

    使用telnet指令时,Windows需要开启Telnet服务. telnet不通的情况: a.端口对应的服务没启动,或者启动了服务端口不是对应的测试端口. b.端口受限不能访问. 以下内容转自:ht ...

  4. OpenStack 认证服务 KeyStone 服务注册(五)

    创建服务实体和API端点 创建服务 openstack service create --name keystone --description "OpenStack Identity&qu ...

  5. OpenStack实践系列⑤网络服务Neutron

    OpenStack实践系列⑤网络服务Neutron 3.8 Neturn 服务部署 注册neutron服务 [root@node1 ~]# source admin-openrc.sh [root@n ...

  6. OpenStack实践系列③镜像服务Glance

    OpenStack实践系列③镜像服务Glance 3.5 Glance部署 修改glance-api和glance-registry的配置文件,同步数据库 [root@node1 ~]# vim /e ...

  7. OpenStack 认证服务 KeyStone部署(三)

    Keystone 介绍 Keystone作用: 用户与认证:用户权限与用户行为跟踪: 服务目录:提供一个服务目录,包括所有服务项和相关Api的断点 SOA相关知识 Keystone主要两大功能用户认证 ...

  8. OpenStack 认证服务 KeyStone部署 (四)

    Keystone作用: 用户与认证:用户权限与用户行为跟踪: 服务目录:提供一个服务目录,包括所有服务项和相关Api的断点 SOA相关知识 Keystone主要两大功能用户认证和服务目录(相当于一个注 ...

  9. OpenStack核心组件-keystone

    1. Keystone介绍 keystone是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证.令牌的发放和校验.服务列表.用户权限的定义等等 ...

随机推荐

  1. 寒武纪加速平台(MLU200系列) 摸鱼指南(一)--- 基本概念及相关介绍

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  2. idea如何在终端使用git并解决终端中文乱码

    idea使用git终端 在idea设置中 找到Settings-Tools-Terminal-Shell path,替换为git安装目录下的bin/bash.exe 解决中文乱码 在git安装目录下找 ...

  3. FZU ICPC 2020 寒假训练 5 —— 排序

    P1177 [模板]快速排序 题目描述 利用快速排序算法将读入的 N 个数从小到大排序后输出.快速排序是信息学竞赛的必备算法之一.对于快速排序不是很了解的同学可以自行上网查询相关资料,掌握后独立完成. ...

  4. 在Winform中直接录入表格数据和在Vue&Elment中直接录入表格数据的比较

    一般来说,录入数据的时候,我们都采用在一个窗体界面中,根据不同内容进行录入,但是有时候涉及主从表的数据录入,从表的数据有时候为了录入方便,也会通过表格控件直接录入.在Winform开发的时候,我们很多 ...

  5. Linux驱动实践:带你一步一步编译内核驱动程序

    作 者:道哥,10+年嵌入式开发老兵,专注于:C/C++.嵌入式.Linux. 关注下方公众号,回复[书籍],获取 Linux.嵌入式领域经典书籍:回复[PDF],获取所有原创文章( PDF 格式). ...

  6. python 函数的定义及调用语法,map 方法,函数嵌套递归

    1.什么是函数    开发程序时候,需要代码执行多次,为了提高编写效率及代码重用性,所以把具有独立功能的代码块组织为一个小模块,给这个功能一个名称,这就是函数.    函数可以使用系统自带的函数也可以 ...

  7. hover 背后的数学和图形学

    前端开发中,hover是最常见的鼠标操作行为之一,用起来也很方便,CSS直接提供:hover伪类,js可以通过mouseover+mouseout事件模拟,甚至一些第三方库/框架直接提供了 hover ...

  8. Type mismatch:

    Type mismatch: cannot convert from java.sql.PreparedStatement to com.mysql.jdbc.PreparedStatement im ...

  9. Linux 软连接与硬连接 区别

    先说结论 软连接相当于快捷方式,访问软连接会被替换为其指向的绝对路径,如果其指向的文件被删除,则无法访问. 硬连接相当于指针,与它指向的文件都指向相同的inode,当其指向的文件被删除,inode由于 ...

  10. 不用Spring Boot的痛苦是什么?用了Spring Boot以后的好处是什么?

    1.不用Spring Boot的痛苦是什么? (1)各种技术整合在一起,版本混乱,大量依赖自己去找,依赖冲突 (2)基于xml格式的配置文件,对各种技术框架进行大量的繁琐配置,mvc-servlet. ...