#官网地址: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. 【编译原理】LL1文法语法分析器

    上篇文章[编译原理]语法分析--自上向下分析 分析了LL1语法,文章最后说给出栗子,现在补上去. 说明: 这个语法分析器是利用LL1分析方法实现的. 预测分析表和终结符以及非终结符都是针对一个特定文法 ...

  2. JMeter学习笔记--工具简单介绍

    一.JMeter 介绍 Apache JMeter是纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件,Java ...

  3. 羽夏看Win系统内核——系统调用篇

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...

  4. ucharts tooltip弹窗自定义换行

    这个东西吧,也许是因为菜,看了3小时,下面给出解决方案 1. 找到源码下面的这个文件 2. 增加绿色方框中的代码 3.组件调用的时候有一个opts属性 :opts="{ extra: { t ...

  5. 二.什么是Promise

    二.什么是Promise 1.理解 2.promise 的状态改变 3.promise的基本流程 4.promise的基本使用 1.理解 抽象表达: Promise 是JS 中进行异步编程的新的解决方 ...

  6. 事件消息生产消费中间件-OSS.DataFlow

    系统重构解耦的过程涉及不同领域服务分拆,或同一服务下实时响应部分和非响应部分分拆,分解后的各部分通过异步消息的流转传递,完成整体的业务逻辑,但是频繁的在业务层面直接调用不同消息队列的SDK,个人感觉不 ...

  7. Vue组件传值prop验证方式

    在Vue组件开发过程中,父组件要经常给子组件传递数据,在传递数据的过程中,子组件可以使用prop来接收父组件传递的值,同时呢,我们可以为组件的 prop 指定验证要求,例如你知道的这些类型.如果有一个 ...

  8. 【linux系统】命令学习(六)awk sed grep 与管道的使用

    程序运行环境输入与输出 标准输入0 read a;echo $a 标准输出1 echo cesh 错误输出 ls notr 管道重定向 管道与管道之间可以重定向 管道与文件之间可以重定向 用于写入 将 ...

  9. Prometheus+Grafana监控Kubernetes

    涉及文件下载地址:链接:https://pan.baidu.com/s/18XHK7ex_J0rzTtfW-QA2eA 密码:0qn6 文件中需要下载的镜像需要自己提前下载好,eg:prom/node ...

  10. [loj2304]泳池

    将等于$k$差分,即小于等于$k$减去小于等于$k-1$,由于两者类似,不妨仅考虑前者 令$f_{i,j}$表示仅考虑$i$列(即$n=i$时),若前$j$行都没有障碍,此时最大面积小于等于$k$的概 ...