节点配置信息说明:

控制节点:controller: 
IP:192.168.164.128 
hostname&hosts:likeadmin

计算加点:Nova:

IP:192.168.164.129 
hostname&hosts:likenode

块存储节点:cinder:

IP:192.168.164.136 
hostname&hosts:likeblock

1.  认证服务
OpenStack Identity服务提供单点集成,用于管理身份验证,授权和服务目录。
身份服务通常是用户与之交互的第一个服务。经过身份验证后,最终用户可以使用其身份访问其他OpenStack服务。
同样,其他OpenStack服务利用身份服务来确保用户是他们所声称的人,并发现部署中的其他服务。 
Identity服务还可以与某些外部用户管理系统(例如LDAP)集成。

用户和服务可以使用由Identity服务管理的服务目录来查找其他服务。顾名思义,服务目录是OpenStack部署中可用服务的集合。
每个服务可以有一个或多个端点,每个端点可以是以下三种类型之一:admin,internal或public。
在生产环境中,出于安全原因,不同的端点类型可能驻留在暴露给不同类型用户的不同网络上。例如,公共API网络可能从Internet上可见,因此客户可以管理他们的云。
管理API网络可能仅限于管理云基础架构的组织内的运营商。内部API网络可能仅限于包含OpenStack服务的主机。此外,OpenStack支持多个区域以实现可伸缩性。
为简单起见,本指南将管理网络用于所有端点类型和默认的RegionOne区域。在身份服务中创建的区域,服务和端点一起构成部署的服务目录。
部署中的每个OpenStack服务都需要一个服务条目,其中相应的端点存储在Identity服务中。这可以在安装和配置Identity服务之后完成。

服务器
一个中心化的服务器使用RESTful 接口来提供认证和授权服务。
Drivers
驱动或服务后端被整合进集中式服务器中。它们被用来访问OpenStack外部仓库的身份信息, 并且它们可能已经存在于OpenStack被部署在的基础设施(例如,SQL数据库或LDAP服务器)中。
Modules
中间件模块运行于使用身份认证服务的OpenStack组件的地址空间中。这些模块拦截服务请求,取出用户凭据,并将它们送入中央是服务器寻求授权。
中间件模块和OpenStack组件间的整合使用Python Web服务器网关接口。

1.安装并配置
本节介绍如何在控制器节点上安装和配置代号为keystone的OpenStack Identity服务。 出于可伸缩性的目的,此配置部署了Fernet令牌和Apache HTTP服务器来处理请求。
在安装和配置Identity服务之前,必须创建数据库。

1)用数据库连接客户端以 root 用户连接到数据库服务器:
$ mysql -u root -p

2)创建 keystone 数据库:
MariaDB [(none)]> CREATE DATABASE keystone;

3)对``keystone``数据库授予恰当的权限:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
-> IDENTIFIED BY 'djl18001';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
-> IDENTIFIED BY 'djl18001';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> 
用合适的密码替换 KEYSTONE_DBPASS 。此次试验环境,我们选用djl18001来作为试验密码。
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| keystone |
| mysql |
| performance_schema |
+--------------------+

2.安全并配置组件
1)运行以下命令来安装包。
# yum install openstack-keystone httpd mod_wsgi

2)编辑文件 /etc/keystone/keystone.conf 并完成如下动作:
在 [database] 部分,配置数据库访问:
[database]
# ...
connection = mysql+pymysql://keystone:djl18001@likeadmin/keystone
将``KEYSTONE_DBPASS``替换为你为数据库选择的密码。
注解:注释或删除``[database]``部分除``connection`以外的所有内容

在``[token]``部分,配置Fernet UUID令牌的提供者。
[token]
# ...
provider = fernet

3)初始化身份认证服务的数据库:
# su -s /bin/sh -c "keystone-manage db_sync" keystone

4)初始化Fernet key:
# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

5)引导身份服务::
# keystone-manage bootstrap --bootstrap-password djl18001 \
--bootstrap-admin-url http://likeadmin:35357/v3/ \
--bootstrap-internal-url http://likeadmin:5000/v3/ \
--bootstrap-public-url http://likeadmin:5000/v3/ \
--bootstrap-region-id RegionOne

6)配置 Apache HTTP 服务器¶
编辑``/etc/httpd/conf/httpd.conf`` 文件,配置``ServerName`` 选项为控制节点:
ServerName controller

创建一个链接到``/usr/share/keystone/wsgi-keystone.conf``文件
# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

7)完成安装
启动 Apache HTTP 服务并配置其随系统启动:
# systemctl enable httpd.service
# systemctl start httpd.service

8)配置admin账户
$ export OS_USERNAME=admin
$ export OS_PASSWORD=djl18001
$ export OS_PROJECT_NAME=admin
$ export OS_USER_DOMAIN_NAME=Default
$ export OS_PROJECT_DOMAIN_NAME=Default
$ export OS_AUTH_URL=http://likeadmin:35357/v3
$ export OS_IDENTITY_API_VERSION=3

2.创建域、项目、用户和角色
Identity服务为每个OpenStack服务提供身份验证服务。 身份验证服务使用域,项目,用户和角色的组合。
1)本指南使用一个你添加到你的环境中每个服务包含独有用户的service 项目。创建``service``项目:
[root@likeadmin ~]# openstack project create --domain default \
> --description "Service Project" service
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Service Project |
| domain_id | default |
| enabled | True |
| id | 615b23c226e34df1a295d4d72eb3f9a3 |
| is_domain | False |
| name | service |
| parent_id | default |
+-------------+----------------------------------+
[root@likeadmin ~]#

2)常规(非管理)任务应该使用无特权的项目和用户。作为例子,本指南创建 demo 项目和用户。
1))创建``demo`` 项目:
[root@likeadmin ~]# openstack project create --domain default \
> --description "Demo Project" demo
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Demo Project |
| domain_id | default |
| enabled | True |
| id | efcaab21a85549b3acf41e10673e030f |
| is_domain | False |
| name | demo |
| parent_id | default |
+-------------+----------------------------------+
[root@likeadmin ~]#

2))创建``demo`` 用户:
[root@likeadmin ~]# openstack user create --domain default \
> --password-prompt demo
User Password: djl18001
Repeat User Password:
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | 685be60f342f4d9086ae494ab94c4287 |
| name | demo |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
[root@likeadmin ~]

3))创建 user 角色:
[root@likeadmin ~]# openstack role create user
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | None |
| id | 147497264e8044d7b25224e9e07467ca |
| name | user |
+-----------+----------------------------------+
[root@likeadmin ~]#

4))将用户角色添加到演示项目的演示用户:
[root@likeadmin ~]# openstack role add --project demo --user demo user

3.验证操作
在安装其他服务之前确认身份认证服务的操作。
在控制节点上执行这些命令。
1)因为安全性的原因,关闭临时认证令牌机制:
编辑 /etc/keystone/keystone-paste.ini 文件,从``[pipeline:public_api]``,[pipeline:admin_api]``和``[pipeline:api_v3]``部分删除``admin_token_auth 。

2)撤销临时环境变量``OS_AUTH_URL``和``OS_PASSWORD``
$ unset OS_AUTH_URL OS_PASSWORD

3)作为 admin 用户,请求认证令牌:
[root@likeadmin ~]# openstack --os-auth-url http://likeadmin:35357/v3 \
> --os-project-domain-name default --os-user-domain-name default \
> --os-project-name admin --os-username admin token issue
Password: djl18001
+------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| expires | 2019-03-19T04:11:48+0000 |
| id | gAAAAABckF30e2NrzmZwVdm7vtT_qWY-uittPzL0Gb6liYnh2aDsAPHLuYcThpcBSqddZ5vNtY6tY_J2LqzfM1zCZOSs88pmirLEkJw_glILv5 |
| | -DbMa9iPZGcSgCaxI_VsRnJ4OLcZVW4u6QOuLbHgKmRVHzrL3ZSgs52tg-TVeTXDO8L37qYjo |
| project_id | 3e43d2f6475e4fd2ab1daa02d2f0c254 |
| user_id | 6b43bf9fd95144b7b6df3dcefcfaa084 |
+------------+----------------------------------------------------------------------------------------------------------------------------------------------+
[root@likeadmin ~]#

4)作为``demo`` 用户,请求认证令牌:
[root@likeadmin ~]# openstack --os-auth-url http://likeadmin:5000/v3 \
> --os-project-domain-name default --os-user-domain-name default \
> --os-project-name demo --os-username demo token issue
Password: djl18001
+------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| expires | 2019-03-19T04:12:34+0000 |
| id | gAAAAABckF4i6st-dEO_IdFvQxrIF_Vod8RfHTJFvW71vYcF7BuYuoRrs7tVwHezUNhu_ETWDjfzGDvVw4JHNaN4vS8CXMDjuakofPQrgDaKKajOsMEhTd9MmDGWSMcLPfrO6mzRGPJn |
| | maZ3jVdi9rgOajea6oRUwb5VzEocLBGhL6AVKcIzpT0 |
| project_id | efcaab21a85549b3acf41e10673e030f |
| user_id | 685be60f342f4d9086ae494ab94c4287 |
+------------+----------------------------------------------------------------------------------------------------------------------------------------------+
[root@likeadmin ~]#

4。创建 OpenStack 客户端环境脚本
上一节使用环境变量和命令选项的组合,通过openstack客户端与Identity服务进行交互。
为了提高客户端操作的效率,OpenStack支持简单的客户端环境脚本,也称为OpenRC文件。
这些脚本通常包含所有客户端的公共选项,但也支持唯一选项。 有关更多信息,请参阅“OpenStack最终用户指南”。
1)创建脚本
创建 admin 和 ``demo``项目和用户创建客户端环境变量脚本。本指南的接下来的部分会引用这些脚本,为客户端操作加载合适的的凭证。
客户端环境脚本的路径不受限制。 为方便起见,您可以将脚本放在任何位置,但请确保它们是可访问的。

2)创建和编辑admin-openrc文件并添加以下内容:
注解:OpenStack客户端还支持使用clouds.yaml文件。
[root@likeadmin ~]# vim /root/.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=djl18001
export OS_AUTH_URL=http://likeadmin:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

3)创建并编辑demo-openrc文件并添加以下内容
[root@likeadmin ~]# vim /root/.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=djl18001
export OS_AUTH_URL=http://likeadmin:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

4)使用脚本
使用特定租户和用户运行客户端,你可以在运行之前简单地加载相关客户端脚本。例如:
加载``admin-openrc``文件来身份认证服务的环境变量位置和``admin``项目和用户证书:
[root@likeadmin ~]# source /root/.admin-openrc

请求认证令牌:
[root@likeadmin ~]# openstack token issue
+------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+------------+----------------------------------------------------------------------------------------------------------------------------------------------+
| expires | 2019-03-19T04:30:34+0000 |
| id | gAAAAABckGJam76OJbygHbqHp8C7GIuloj_HoZzj8RGk-jpD_n-ll5be7QZXDiNLuuwpYlFls0-iepDZvj_6EwgPauzT8Ne-v_WM- |
| | dNn7JCoczavPjIeewtijFVw1ayA9v0t2A6E3DHKDKsE0UpgaSZjuHwoVbQ6rTzaDNWUSInE3rW2syW-fo4 |
| project_id | 3e43d2f6475e4fd2ab1daa02d2f0c254 |
| user_id | 6b43bf9fd95144b7b6df3dcefcfaa084 |
+------------+----------------------------------------------------------------------------------------------------------------------------------------------+
[root@likeadmin ~]#

注:至此OpenStack的认证服务keystone已安装配置完成。

转载于:https://www.cnblogs.com/likezn/p/10788874.html

OpenStack-Ocata版+CentOS7.6 云平台环境搭建 — 3.安装配置OpenStack认证服务(keystone)...相关推荐

  1. 【笔记】Logstash环境搭建和安装配置

    Logstash介绍: 概述 Logstash 是 Elastic Stack 的中央数据流引擎,用于收集.丰富和统一所有数据,而不管格式或模式.当与Elasticsearch,Kibana,及 Be ...

  2. 用CMP(云管理平台)统一管理各类云平台环境

    本文是原创,首发于微信公众号『 Moehoo猛虎 』 首先,引用Gartner对CMP给出的定义:CMP(Cloud management platforms,云管理平台)是一种管理公有云.私有云和混 ...

  3. STM32CubeMX环境搭建与安装

    简介 STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用 ...

  4. 完整部署CentOS7.2+OpenStack+kvm 云平台环境(3)--为虚拟机指定固定ip

    之前在测试环境(centos7.2)上部署了openstack云平台(完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建),openstack在neutron组网 ...

  5. Openstack云平台的搭建与部署(具体实验过程截图评论拿)

    目录 Openstack云平台的搭建与部署................................... 3 Keywords:Openstack.Cloud Computing.Iaas.. ...

  6. 在虚拟机上搭建云平台环境(1)Controller和Computer虚拟机的安装

    在虚拟机上搭建云平台环境(1)Controller和Computer虚拟机的安装 Controller和Computer虚拟机的安装 需要准备的软件有VM Ware.Centos7的iso镜像.Xia ...

  7. 在虚拟机上搭建云平台环境(5)yum配置

    在虚拟机上搭建云平台环境(5)yum配置 本文涉及到代码复制,粘贴.CSDN中会复制多余信息导致出错,选择删除多余信息,或者去我的Blog添加配置 https://julur.github.io/ 一 ...

  8. 在虚拟机上搭建云平台环境(7)云平台组件服务安装

    在虚拟机上搭建云平台环境(7)云平台组件服务安装 本文涉及到代码复制,粘贴.CSDN中会复制多余信息导致出错,选择删除多余信息,或者去我的Blog添加配置 https://julur.github.i ...

  9. 在虚拟机上搭建云平台环境(2)Controller和Computer系统安装

    在虚拟机上搭建云平台环境(2)Controller和Computer系统安装 Controller和Computer系统的安装 安装Controller,开启Controller虚拟机 来到安装主界面 ...

  10. K8S云平台环境调优说明

    随着云计算技术的不断发展,在信息化建设模式上上云是大势所趋.在搭建完云平台环境后,需要对服务器以及部署产品进行优化处理,如:MySQL.Nginx.Redis等. 在项目上线过程中遇到了服务器性能瓶颈 ...

最新文章

  1. SqlDataReader执行带输出参数存储过程 错误分析
  2. 20145328《网络对抗》Web基础
  3. Java Web - 服务器中的过滤器和监听器
  4. sublime-text3按tab跳出括号
  5. 数字加密c语言程序_国外程序员整理的 C++ 资源大全
  6. Bootstrap 固定导航条
  7. 网络篇 使用Visio来画流程图(进阶篇)-01.1
  8. 数电2_2——逻辑函数的变换与化简
  9. FastDFS的安装及上传下载(二)
  10. camera(二) DVP接口
  11. 在《寒门状元之死》上,咪蒙贩卖的是什么?
  12. 浏览器主页被360篡改怎么办?
  13. 外部数据的合规引入助力银行用户营销系统冷启动
  14. [网络安全学习篇60]:文件上传
  15. 【C语言趣味编程100题】
  16. HTML 渲染组件出错,这个问题可以通过安装某个缺失组件来解决。您是否想要了解详细信息? 的解决办法
  17. android之按钮添加声音
  18. 【语言-批处理】生成文件时,文件名变化生成(例如:yuan1.txt、yuan2.txt、yuan3.txt...)
  19. (三十 :2021.01.11)MICCAI 2018 追踪之论文纲要(上)
  20. 在kotlin中启动activity发生java.lang.RuntimeException: Unable to instantiate activity ComponentInfo for Kot

热门文章

  1. 智能客户—ERP技术新方向
  2. poj Shortest Prefixes ——trie树、字典树,基础!!
  3. Mac天真答疑「6」mac系统使用技巧入门
  4. 如何在 Mac 上阻止 FaceTime 通话和 iMessage 信息?
  5. iOS开发之开源项目链接
  6. 以太坊 链私有链环境搭建(windows)
  7. 二维\三维绘图AutoCAD 2022 for Mac
  8. Thinkphp在Nginx服务器下部署的问题--宝塔面板篇
  9. CVE-2014-6332学习笔记
  10. HDU 2054 大数比较