#官网地址: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. Java学习笔记:GUI基础

    一:我们使用到的java GUI的API可以分为3种类: 组件类(component class) 容器类(container class) 辅助类(helper class) 1:组件类:组件类是用 ...

  2. 第39篇-Java通过JNI调用C/C++函数

    在某些情况下,Java语言需要通过调用C/C++函数来实现某些功能,因为Java有时候对这些功能显的无能为力,如想使用X86_64 的 SIMD 指令提升一下业务方法中关键代码的性能,又或者想要获取某 ...

  3. 使用BadBoy录制JMeter脚本

     BadBoy简介 BadBoy是一款免费WEB自动化测试工具,其实就是一个浏览器模拟工具,具有录制和回放功能,支持对录制出来的脚本进行调试.同时支持捕获表单数据的功能,所以能够进行自动化测试.但目前 ...

  4. xmind 文件 打开后会在当前目录生成 configuration,p2和workspace目录,artifacts.xml文件 解决

    在xmind安装目录下的xmind.ini修改如下配置,为绝对路径

  5. python-内置函数(搭配lambda使用)

    目录 常用的内置函数 需要注意的知识点: enumerate()函数 map()函数 zip()函数 filter()函数 reduce()函数 sum()函数 max()/ min()函数 sort ...

  6. [noi1994]海盗

    令$a_{i,j}(j\le i)$表示第i个人的方案中给第j个人$a_{i,j}$的钱,有以下性质: 1.如果第j个人一定同意(否则就会死)第i个人的方案,那么$a_{i,j}=0$(容易发现一定同 ...

  7. Docker 急速入门

    1. 概述 之前聊了很多 SpringCloud 相关的话题,今天我们来聊聊服务容器 Docker. 2. 在 CentOS7 安装 Docker 2.1 卸载旧版本的Docker  # yum re ...

  8. Golang进阶,揉碎数据库中间件,干货满满!

    目录 必读 一.Centos7.Mac安装MySQL 二.主从复制原理 2.1.基于binlog_filename + position 2.2.基于GTID 三.my.cnf 四.测试SQL 五.中 ...

  9. x86汇编反编译到c语言之——(2)if语句

    一. 测试的C语句及编译后的x86汇编代码 int a; int b; int main(void) { int c; if (c) a = 4; else b = 5; return 0; } 1 ...

  10. namp相关命令大全

    常用功能: -探测主机存活- 扫描端口- 探测主机操作系统信息- 检测漏洞 nmap 常用的几个参数 nmap -v ip 显示详细的扫描过程 nmap -p  ip  扫描指定端口 nmap -A ...