Openstack 云计算(二):openstack rocky 二: keystone 部署与验证

Openstack 云计算(二): Openstack Rocky部署二 keystone 部署与验证

标签(空格分隔):openstack系列


  • 一: keystone认证服务
  • 二: keystone的部署

一: keystone 认证服务

Keystone(OpenStack Identity Service)是 OpenStack 框架中负责管理身份验证、服务规则和服务令牌功能的模块。用户访问资源需要验证用户的身份与权限,服务执行操作也需要进行权限检测,这些都需要通过 Keystone 来处理。Keystone类似一个服务总线, 或者说是整个Openstack框架的注册表, 其他服务通过keystone来注册其服务的Endpoint(服务访问的URL),任何服务之间相互的调用, 需要经过Keystone的身份验证, 来获得目标服务的Endpoint来找到目标服务。

1)用户与认证:用户权限与用户行为跟踪

User          用户
Tenant        租户
Token         令牌
Role          角色

2)服务目录:提供一个服务目录,包括所有服务项与相关API的端点

Service       服务
Endpoint      端点

二: keystone的部署

2.1 在控制节点创建keystone相关数据库并授权

mysql -uroot -pflyfish225

CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO ‘keystone‘@‘localhost‘ IDENTIFIED BY  ‘keystone‘;

GRANT ALL PRIVILEGES ON keystone.* TO ‘keystone‘@‘%‘ IDENTIFIED BY  ‘keystone‘;

flush privileges;

show databases;

select user,host from mysql.user;

2.2.在控制节点安装keystone相关软件包

yum install openstack-keystone httpd mod_wsgi -y
yum install openstack-keystone python-keystoneclient openstack-utils -y

2.3 keystone 文件配置

openstack-config --set /etc/keystone/keystone.conf database connection mysql+pymysql://keystone:[email protected]/keystone
openstack-config --set /etc/keystone/keystone.conf token provider fernet

grep ‘^[a-z]‘ /etc/keystone/keystone.conf

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

mysql -uroot -pflyfish225

use keystone; 

show tables;

2.4 初始化Fernet令牌库

keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

2.5 定义访问端点

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

2.6 配置httpd 服务

vim /etc/httpd/conf/httpd.conf

---
ServerName controller
---

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

service httpd start 

chkconfig httpd on

临时配置管理员账户的相关变量进行管理

export OS_USERNAME=admin
export OS_PASSWORD=admin
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3

env |grep OS_

查看命令

openstack endpoint list
openstack project list
openstack user list

2.7 创建keystone的一般实例

# 以下命令会在project表中创建名为example的项目

openstack domain create --description "An Example Domain" example

为keystone系统环境创建名为service的项目提供服务

用于常规(非管理)任务,需要使用无特权用户

以下命令会在project表中创建名为service的项目

openstack project create --domain default --description "Service Project" service

创建myproject项目和对应的用户及角色
# 作为一般用户(非管理员)的项目,为普通用户提供服务

# 以下命令会在project表中创建名为myproject项目

openstack project create --domain default --description "Demo Project" myproject

在默认域创建myuser用户
openstack user create --domain default  --password-prompt myuser

在role表创建myrole角色

openstack role create myrole

将myrole角色添加到myproject项目中和myuser用户组中

openstack role add --project myproject --user myuser myrole

2.8 验证keystone

去除环境变量

unset OS_AUTH_URL OS_PASSWORD
env |grep OS_

作为管理员用户去请求一个认证的token测试是否可
以使用admin账户进行登陆认证,请求认证令牌

openstack --os-auth-url http://controller:5000/v3   --os-project-domain-name Default --os-user-domain-name Default   --os-project-name admin --os-username admin token issue

使用普通用户获取认证token

openstack --os-auth-url http://controller:5000/v3   --os-project-domain-name Default --os-user-domain-name Default   --os-project-name myproject --os-username myuser token issue

2.9 创建OpenStack客户端环境脚本

创建admin用户的环境管理脚本

mkdir /openstack

cd /openstack

vim keystone-admin-pass.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://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
---
source keystone-admin-pass.sh

创建普通用户myuser的客户端环境变量脚本

cd /openstack

vim keystone-myuser-pass.sh
---
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=myproject
export OS_USERNAME=myuser
export OS_PASSWORD=myuser
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
---

source keystone-myuser-pass.sh

请求认证令牌:
   openstack token issue 

# 可以看到user_id和上面用命令获取到的是一样的,说明配置成功

# 至此,keystone安装完毕

原文地址:https://blog.51cto.com/flyfish225/2381181

时间: 2024-10-11 03:05:47

Openstack 云计算(二):openstack rocky 二: keystone 部署与验证的相关文章

Openstack 云计算(二): Openstack Rocky部署一 : 系统环境初始化

Openstack 云计算(二): Openstack Rocky部署一 : 系统环境初始化 标签(空格分隔): openstack系列 一: openstack的介绍以及组件 二: openstack的架构 三: openstack的环境初始化 一: openstack的介绍以及组件 1.1: openstack的介绍 OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目. OpenStack是一个开源

Openstack云计算(二) Openstack Rocky部署三: glance 部署与验证

#Openstack 云计算(二): Openstack Rocky部署三 glance 部署与验证 标签(空格分隔):openstack系列 一: glance 概述 二: glance 部署 一: glance 概述 1.1 glance作用和特性 用户使用镜像服务 (glance) 允许来创建,查询虚拟机镜像.它提供了一个 REST API,允许查询虚拟机镜像的 metadata 并获取一个现存的镜像 可以将虚拟机镜像存储到各种位置,如简单的文件系统或者是对象存储系统,例如 OpenSta

openstack云计算(二):Openstack rocky 部署三 nova计算节点部署

Openstack 云计算(二): Openstack Rocky部署三 nova 部署与验证 (计算节点) 标签(空格分隔): openstack系列 一:nova计算节点初始化 二:nova 计算节点配置 一: nova计算节点初始化 1.1 配置主机名 login: 10.0.0.31 cat /etc/hosts --- 10.0.0.11 controller 10.0.0.31 computer1 10.0.0.41 block1 10.0.0.51 object1 10.0.0.5

Openstack云计算(二):openstack rocky部署三:nova 部署与验证(控制节)

Openstack 云计算(二): Openstack Rocky部署三 nova 部署与验证 (控制节点) 标签(空格分隔): openstack系列 一: nova 的部署 二: nova 验证 一: nova的部署 ###1.1 nova 数据库创建 mysql -uroot -p flyfish225 CREATE DATABASE nova_api; CREATE DATABASE nova; CREATE DATABASE nova_cell0; CREATE DATABASE pl

Ubuntu搭建Openstack平台(kilo)(二.keystone)

一.keystone安装 参考文档:http://www.aboutyun.com/thread-13080-1-1.html http://docs.openstack.org/mitaka/install-guide-ubuntu/keystone-install.html 1.创建keystone数据库并授权 mysql -u root -p 创建keystone数据库: CREATE DATABASE keystone; 授权(并设置keystone密码,此密码在后面同步数据库时会用到,

Openstack之二:服务认证keystone

一:keystone介绍及安装: OpenStack的身份服务提供了集成的管理身份验证,授权和服务目录服务的单点,其他的OpenStack服务使用的身份服务作为一个通用统一的API,此外,提供有关用户的信息,但该服务不包括开栈(如LDAP服务)可以被集成到一个预先存在的基础设施,为了从身份服务中受益,其他的OpenStack服务需要与它合作.当一个开栈服务从用户接收请求时,它检查与用户是否被授权作出该请求的标识服务. 身份服务包含以下组件: 服务器:中央服务器提供了一种使用RESTful接口验证

云计算之OpenStack实战记(二)与埋坑填坑

3.6 Nova控制节点的部署 创建nova用户,并加入到service项目中,赋予admin权限 [[email protected] ~]# source admin-openrc.sh [[email protected] ~]# openstack user create --domain default --password=nova nova +-----------+----------------------------------+ | Field     | Value   

OpenStack入门——理论篇(二):OpenStack的节点类型和架构(含登录的仪表板界面示例)

OpenStack入门--理论篇(二):OpenStack的节点类型和架构(含仪表板界面示例) 前言 ? 看了网上的一些博客对OpenStack架构的描述,大部分都是将官网的架构图截取下来(还是纯英文文字描述的图片)或者直接将描述翻译为中文直接复制粘贴过来了.如果对于初学者而言,这或许是有字天书了.所以笔者先前的一篇文章是介绍了关于OpenStack的基础知识和核心的组件服务.而本文先从OpenStack部署的节点结构描述,再来对其整体架构进行阐述. 一.OpenStack节点类型 ? 在介绍O

云计算之openstack基础服务之一keystone服务最佳实践

1.openstack简介 Openstack是一个项目,该项目支持所有类型的云环境的一个开源云计算平台,该项目的目的是为了实现简单,大规模可扩展性,以及丰富功能集,来自世界各地的云计算专家项目作出贡献.Openstack提供了一个基础架构即服务(Iaas)并通过各种配套服务的解决方案,每个服务提供一个应用编程接口来完成整个openstack的结合. 架构图如下: 相关服务介绍: 服务名称 项目名称 描述 Dashboard Horizon 基于openstackAPI接口使用Django开发的