Keystone作用:

  1. 用户与认证:用户权限与用户行为跟踪;
  2. 服务目录:提供一个服务目录,包括所有服务项和相关Api的断点
  3. SOA相关知识

Keystone主要两大功能用户认证和服务目录(相当于一个注册中心)

  • 用户认证名词介绍

User:用户 
 它是用一个数字代表使用openstack云服务的一个人、系统、或服务。身份验证服务将会验证传入的由用户声明将调用的请求 
 一个租户可以有多个用户 
 一个用户可以属于一个或多个租户 
 用户对租户和操作权限由用户在租户中承担的角色来决定。

Project:项目 
 它是各个服务中的一些可以访问的资源集合或者说叫资源组。它是一个容器,用于组织和隔离资源,或标识对象。

Token:令牌

Role:角色 
代表一组用户可以访问的资源权限,例如Nova中的虚拟机、Glance中的镜像。

  • 服务目录两大名词介绍

Service:服务 
Service即服务,如Nova、Glance、Swift。根据前三个概念(User,Project和Role)一个服务可以确认当前用户是否具有访问其资源的权限。但是当一个user尝试着访问其租户内的service时,他必须知道这个service是否存在以及如何访问这个service。

Endpoint:端点 
Endpoint翻译为“端点”,我们可以理解它是一个服务暴露出来的访问点,如果需要访问一个服务,则必须知道他的endpoint。Endpoint的每个URL都对应一个服务实例的访问地址,并且具有public、orivate和admin这三种权限。pubic url可以完全被全局访问,private url只能被局域网访问,admin url被从常规的访问中分离。

一) 安装memcached缓存

1.1 安装软件包

yum install memcached python-memcached -y

1.2 修改memcached配置

vim /etc/sysconfig/memcached
OPTIONS="10.0.0.101"

1.3.启动服务

# systemctl enable memcached.service
# systemctl start memcached.service

1.4  netstat -ntlp检查服务端口是否存在

二)安装keystone

2.1 安装keystone软件包

yum install openstack-keystone httpd mod_wsgi -y

2.2 修改配置文件

vim /etc/keystone/keystone.conf 在[database]部分,配置数据库访问:
[database]
connection = mysql+pymysql://keystone:redhat@controller/keystone
在[token]部分,配置Fernet UUID令牌的提供者
提供令牌有四种方式[fernet|pkiz|pki|uuid]默认是uuid。
[token]
provider = fernet
driver = memcache在[memcache]部分,配置memcache的连接地址和端口
[memcache]
servers = 10.0.100.101:11211

3.3  初始化数据库

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

自动找到keystone配置文件里的mysql连接,来帮我们创建数据库中的表。
我们为什么要使用keystone用户去同步数据库呢?
因为同步数据库会在/var/log/keystone目录下去写日志,如果使用root权限同步,当keystone用户启动服务时读取这个日志文件,那么它将无法进行读取(权限问题),会出现启动错误的情况。

检查表是否创建成功

mysql -uroot -predhat -e "use keystone;show tables;" 
提示:如果查看表的时候发现没有,通过日志/var/log/keystone/keystone.log排查报错信息。

 3.4 初始化Fernet keys

创建相关的证书
 # keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone 
执行完命令之后会在/etc/keystone下生成fernet-keys目录,它的权限是keystone里面存放这一些相关证书。

3.5 引导服务标识

keystone-manage bootstrap --bootstrap-password redhat \
--bootstrap-admin-url http://controller:35357/v3/ \
--bootstrap-internal-url http://controller:35357/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne

三).apache配置

3.1 配置/etc/httpd/conf/httpd.conf文件,配置ServerName 选项为控制节点

vim /etc/httpd/conf/httpd.conf
ServerName   controller

3.2 配置链接文件

# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

3.3 apache启动并设置开机自启动

# systemctl enable httpd.service
# systemctl start httpd.service

3.4 keytone排错思路

查看日志 /var/log/keystone/keystone.log 是否有报错信息
开启debug模式
vim /etc/keystone/keystone.conf
[DEFAULT]
debug = true

转载于:https://www.cnblogs.com/jimmy-xuli/p/8856404.html

OpenStack 认证服务 KeyStone部署 (四)相关推荐

  1. 【N版】openstack——认证服务keystone(三)

    [N版]openstack--认证服务keystone 一.keystone介绍 1.1keystone Keystone(OpenStack Identity Service)是 OpenStack ...

  2. OpenStack实践系列②认证服务Keystone

    OpenStack实践系列②认证服务Keystone 三.实战OpenStack之控制节点 3.1 CentOS7的时间同步服务器chrony 下载chrony # yum install -y ch ...

  3. Openstack rocky 部署四: neutron 部署与验证(控制节点)

    Openstack 云计算(二): Openstack Rocky部署四 neutron 部署与验证 (控制节点) 标签(空格分隔): openstack系列 一:Neutron概述 二:Neutro ...

  4. OpenStack环境搭建(四:web控制端各节点的部署及配置)

    实验要求: 完成Virtual box平台安装,会应用相关操作: 在virtual box虚拟平台上部署Fuel Master节点: 在virtual box虚拟平台上部署计算节点Computer: ...

  5. OpenStack手动分布式部署Keystone【Queens版】

    目录 Keystone简介 1.登录数据库配置(在controller执行) 1.1登录数据库 1.2数据库里创建keystone 1.3授权对keystone数据库的正确访问 1.4退出数据库 2. ...

  6. 搭建Openstack环境以及Openstack认证服务

    搭建Openstack环境以及Openstack认证服务 Openstack之glance镜像服务.nova计算服务 Openstack之neutron网络服务. 启动一个实例 Openstack之d ...

  7. OpenStack——nove组件部署

    OpenStack--nove组件部署 一.部署Placement 1.创建数据库实例和用户 2.创建placement服务用户和API的endpoint 3.安装placement服务 4.导入数据 ...

  8. 手动部署OpenStack之环境部署

    手动部署OpenStack之环境部署 一.虚拟机信息 二.基础环境配置 三.系统环境配置 一.虚拟机信息 1.控制节点ct CPU:双核双线程-CPU虚拟化开启 内存:8G 硬盘:300G+300G( ...

  9. OpenStack平台-keystone与glance服务运维

    目录 一.Keystone服务运维 1.1 什么是keystone?keystone的作用是什么? 1.2 Keystone的部分管理对象 1.3 Keystone的认证过程 1.4 Keystone ...

最新文章

  1. c语言 图的存储邻接矩阵,数据结构之---C语言实现图的数组(邻接矩阵)存储表示...
  2. linux内核网络协议栈--数据包的接收过程(二十二)
  3. 建模案例:最优截断切割问题
  4. mysql root 提权_mysql以ROOT权限提权方法
  5. 【CodeForces - 219D 】Choosing Capital for Treeland (树形dp)
  6. 想领取开发套件,就来参加AIoT开发者大赛
  7. 零基础机器学习(1)- 我们为什么要学习Python?
  8. 《Scikit-Learn与TensorFlow机器学习实用指南》 第1章 机器学习概览
  9. 电脑重装系统 Win11 如何打开DirectX诊断工具
  10. QTableView结构及用法
  11. html5上传steam,Steam.html · savfile/shencore.github.io - Gitee.com
  12. 实现Discord聊天机器人
  13. UI设计师需要掌握哪些设计软件?
  14. Docker基础之containerd的shim
  15. HTML+css+javascript面试题
  16. js表格隔行变色案例
  17. 多可系统的权限规则详解
  18. 微信提示已连接到服务器失败,微信提示无法连接到服务器如何解决
  19. m4s格式转换mp3_M4A格式怎么转换成MP3
  20. 第三章:进程线程模型

热门文章

  1. win cmd rmdir /s递归删除目录
  2. 【视频】详解HDFS的HA高可用原理
  3. k8s部署ingress:使用heptio-contour部署ingress controller(通过sealos安装,非nginx-ingress类型)
  4. etcd安装及go简单操作
  5. k8s控制器:DaemonSet
  6. 使用Amoeba实现MySQL读写分离详细步骤(推荐的方式)
  7. nginx tomcat集群实现session共享
  8. 配置spring整合jpa自动生成数据表
  9. 性能测试(03)-JDBC Request
  10. 线性表易错点与线性表程序设计易错点