Openstack 安装部署指南翻译系列 之 Keystone服务安装(Identity)

OpenStack系统由分开安装的几个关键服务组成。这些服务可根据其他云需求一起工作,包括计算(Compute),身份(Identity),网络(Networking),镜像(Image),块存储(Block Storage),对象存储(Object Storage),计量(Telemetry),编排(Orchestration)和数据库(Database)服务。可以单独安装任何这些项目,并将其配置为独立的或连接的实体。

本节介绍如何在控制器节点上安装和配置OpenStack Identity服务(代号为keystone)。为了可扩展性,此配置部署了Fernet令牌和Apache HTTP服务器来处理请求。

1.1.1.1.1. 摘要

本指南将向您展示如何使用Red Hat Enterprise Linux 7及其衍生产品(centos 7)通过RDO存储库提供的软件包安装Keystone。

包括配置选项和示例配置文件的说明。

警告

本指南是一项正在进行的工作,经常更新。预发行包已被用于测试,一些说明可能无法与最终版本一起使用。若遇到的任何错误,请到社区寻求帮助。

1.1.1.1.2. 身份服务概述

OpenStack身份服务提供了一个单一的集成点,用于管理身份验证,授权和服务目录。

身份服务通常是用户与之互动的第一个服务。一旦经过身份验证,最终用户可以使用其身份访问其他OpenStack服务。同样,其他OpenStack服务利用Identity服务来确保用户是他们所说的,并且发现其他服务在部署中的位置。身份服务还可以与某些外部用户管理系统(如LDAP)集成。

用户和服务可以通过使用由Identity服务管理的服务目录定位其他服务。顾名思义,服务目录是OpenStack部署中可用服务的集合。每个服务可以有一个或多个端点,每个端点可以是三种类型之一:管理员(admin),内部(internal)或公共(public)。在生产环境中,出于安全原因,不同的端点类型可能驻留在暴露于不同类型用户的不同网络上。例如,公共API网络可能从互联网上可见,因此客户可以管理其云。管理API网络可能仅限于管理云基础架构的组织内的运营商。内部API网络可能仅限于包含OpenStack服务的主机。此外,OpenStack支持多个区域进行可扩展性,为了简便,本指导为所有端点类型在管理网络建立一个默认区域RegionOne。,区域(regions),服务(services)和端点(endpoints )在Identity Service中一起构成部署的服务目录。部署中的每个OpenStack服务需要一个服务条目,其中存储在Identity服务中的相应端点。所有这些内容可以在安装和配置身份服务后完成。

身份服务包含以下组件:

服务器Server

集中式服务器使用RESTful接口提供认证和授权服务。

驱动程序Drivers

驱动程序或服务后端集成到集中式服务器。它们用于在OpenStack外部的存储库中访问身份信息,并且可能已经存在于部署OpenStack的基础架构(例如,SQL数据库或LDAP服务器)中。

模块(Modules)

中间件模块在使用Identity服务的OpenStack组件的地址空间中运行。这些模块拦截服务请求,提取用户凭据,并将其发送到集中式服务器进行授权。中间件模块和OpenStack组件之间的集成使用Python Web服务器网关接口。

1.1.1.1.3. 先决条件

在安装和配置身份服务之前,必须创建一个数据库。

1、使用数据库访问客户端作为root用户连接到数据库服务器:

$ mysql -u root -p

2、创建keystone数据库:

MariaDB [(none)]> CREATE DATABASE keystone;

3、授予对keystone数据库的正确访问权限:

MariaDB [(none)]> GREN ALL PRIVILEGES ON keystone。* TO‘keystone‘@‘localhost‘\

IDENTIFIED BY‘KEYSTONE_DBPASS‘;

MariaDB [(none)]> GREN ALL PRIVILEGES ON keystone。* TO‘keystone‘@‘%‘\

IDENTIFIED BY‘KEYSTONE_DBPASS‘;

更换KEYSTONE_DBPASS一个合适的密码。

4、退出数据库访问客户端。

1.1.1.1.4. 安装和配置组件

注意

本指南使用Apache HTTP服务器mod_wsgi在端口5000和35357上提供身份服务请求。默认情况下,keystone服务仍会监听这些端口。

1、运行以下命令安装软件包:

# yum install openstack-keystone httpd mod_wsgi

2、编辑/etc/keystone/keystone.conf文件并完成以下操作:

在该[database]部分中,配置数据库访问:

[database]

# ...

connection = mysql+pymysql://keystone:[email protected]/keystone

替换KEYSTONE_DBPASS为数据库选择的密码。

在本[token]节中,配置Fernet令牌提供程序:

[token]

# ...

provider = fernet

3、导入身份服务数据库:

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

4、初始化Fernet密钥存储库:

# 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 ADMIN_PASS \

--bootstrap-admin-url http://controller:35357/v3/ \

--bootstrap-internal-url http://controller:5000/v3/ \

--bootstrap-public-url http://controller:5000/v3/ \

--bootstrap-region-id RegionOne

替换ADMIN_PASS为管理用户的合适密码。

1.1.1.1.5. 配置Apache HTTP服务器

1、编辑/etc/httpd/conf/httpd.conf文件并配置 ServerName选项以引用控制器节点:

ServerName controller

2、创建一个链接到该/usr/share/keystone/wsgi-keystone.conf文件:

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

1.1.1.1.6. 完成安装

1、启动Apache HTTP服务并将其配置为在系统启动时启动:

# systemctl enable httpd.service

# systemctl start httpd.service

2、配置管理帐户

$ export OS_USERNAME=admin

$ export OS_PASSWORD=ADMIN_PASS

$ export OS_PROJECT_NAME=admin

$ export OS_USER_DOMAIN_NAME=Default

$ export OS_PROJECT_DOMAIN_NAME=Default

$ export OS_AUTH_URL=http://controller:35357/v3

$ export OS_IDENTITY_API_VERSION=3

用keystone-install-configure-rdo命令中ADMIN_PASS使用的密码替换keystone-manage bootstrap

1.1.1.1.7. 创建域(domain),项目(projects),用户(users)和角色(roles)

身份服务为每个OpenStack服务提供身份验证服务。认证服务使用域(domain),项目(projects),用户(users)和角色(roles)的组合。

1、本指南使用包含您添加到环境中的每个服务的唯一用户的服务项目。创建service 项目:

$ openstack project create --domain default \

--description "Service Project" service

2、常规(非管理员)任务应使用非特权项目和用户。作为示例,本指南创建demo项目和用户。

创建demo项目:

$ openstack project create --domain default \

--description "Demo Project" demo

创建demo用户:

$ openstack user create --domain default \

--password-prompt demo

User Password:

Repeat User Password:

创建user角色:

$ openstack role create user

将user角色添加到demo项目和用户:

$ openstack role add --project demo --user demo user

1.1.1.1.8. 验证操作

在安装其他服务之前验证身份服务的运行。

注意:在控制器节点上执行这些命令。

1、出于安全考虑,禁用临时认证令牌机制:

编辑/etc/keystone/keystone-paste.ini 文件并删除admin_token_auth从 [pipeline:public_api],[pipeline:admin_api]和[pipeline:api_v3]段。

2、取消设置临时OS_AUTH_URL和OS_PASSWORD 环境变量:

$ unset OS_AUTH_URL OS_PASSWORD

3、作为admin用户,请求身份验证令牌:

$ openstack --os-auth-url http://controller:35357/v3 \

--os-project-domain-name Default --os-user-domain-name Default \

--os-project-name admin --os-username admin token issue

注意:此命令使用admin用户的密码。

4、作为demo用户,请求身份验证令牌:

$ openstack --os-auth-url http://controller:5000/v3 \

--os-project-domain-name Default --os-user-domain-name Default \

--os-project-name demo --os-username demo token issue

注意:此命令使用demo 用户密码和API端口5000,该端口仅允许定期(非管理员)访问Identity Service API。

1.1.1.1.9. 创建OpenStack客户端环境脚本

以前的部分使用环境变量和命令选项的组合来通过openstack客户端与身份服务进行交互 。为了提高客户端操作的效率,OpenStack支持简单的客户端环境脚本,也称为OpenRC文件。这些脚本通常包含所有客户端的常用选项,但也支持唯一选项。

一、创建脚本

创建客户端环境的脚本admin和demo 项目和用户。本指南的后面部分将引用这些脚本来为客户端操作加载适当的凭据。

注意:客户端环境脚本的路径不受限制。为方便起见,可以将脚本放置在任何位置,但请确保它们可访问并位于适合部署的安全位置,因为它们包含敏感凭据。

1、创建并编辑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=ADMIN_PASS

export OS_AUTH_URL=http://controller:35357/v3

export OS_IDENTITY_API_VERSION=3

export OS_IMAGE_API_VERSION=2

替换ADMIN_PASS为admin身份服务中为用户选择的密码。

2、创建并编辑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=DEMO_PASS

export OS_AUTH_URL=http://controller:5000/v3

export OS_IDENTITY_API_VERSION=3

export OS_IMAGE_API_VERSION=2

替换DEMO_PASS为demo身份服务中为用户选择的密码。

二、使用脚本

要作为特定项目和用户运行客户端,可以在运行相关联的客户端环境脚本之前简单加载它们。例如:

1、加载admin-openrc文件以使用Identity服务和admin项目的位置填充环境变量以及用户凭据:

$ . admin-openrc

2、请求身份验证令牌:

$ openstack token issue

时间: 2024-11-05 14:43:37

Openstack 安装部署指南翻译系列 之 Keystone服务安装(Identity)的相关文章

Openstack 安装部署指南翻译系列 之 Glance服务安装(Image)

1.1.1.1. ance服务安装(Image) 1.1.1.1.1. 镜像服务概述 镜像服务(Glance)使用户能够发现,注册和检索虚拟机镜像.它提供了一个 REST API,可让您查询虚拟机镜像元数据并检索实际镜像.可以存储通过Image Service在各种位置(从简单的文件系统到像OpenStack Object Storage这样的对象存储系统)提供的虚拟机镜像. 重要:为了简单起见,本指南介绍如何配置Image服务以使用file后端,后端上传并存储在托管Image服务的控制器节点上

Openstack 安装部署指南翻译系列 之 Manila服务安装(Share Storage)

1.1.1.1. Manila服务安装(Share Storage) 1.1.1.1.1. 服务概述 OpenStack共享文件系统服务(manila)为虚拟机提供文件存储.共享文件系统服务提供了一个管理和配置文件共享的集合.该服务还支持共享类型的管理以及支持共享快照,前提是需要驱动程序支持. 共享文件系统服务由以下组件组成: manila-api 验证请求并将其路由到共享文件系统服务的WSGI应用程序. manila-data 一个独立的服务,其目的是处理数据操作,如复制,共享迁移或备份. m

Openstack 安装部署指南翻译系列 之 Cinder服务安装(Block Storage)

1.1.1.1. Cinder服务安装(Block Storage) 块存储服务(cinder)为访客实例提供块存储设备.存储设置方法由块存储驱动程序确定,或者在多后端配置的情况下确定驱动程序.有各种可用的驱动程序:NAS / SAN,NFS,iSCSI,Ceph等. 块存储API和调度器服务通常在控制器节点上运行.根据使用的驱动程序,卷服务可以在控制器节点,计算节点或独立存储节点上运行. 本节介绍如何为块存储服务安装和配置存储节点.为了简单起见,此配置引用一个具有空的本地块存储设备的存储节点.

Openstack 安装部署指南翻译系列 之 Neutron服务安装(Networking)

1.1.1.1. Neutron服务安装(Networking) 本章介绍如何使用提供商网络或自助服务网络选项安装和配置网络服务(Neutron). OpenStack Networking(Neutron)允许您创建并附加由其他OpenStack服务管理的接口设备到网络.可以实现插件以适应不同的网络设备和软件,为OpenStack架构和部署提供灵活性. 1.1.1.1.1. 网络服务概述 它包括以下组件: 2 neutron-server 接受并将API请求路由到相应的OpenStack Ne

Openstack安装部署指南翻译系列 之 说明(Pike版本官网翻译)

从部署实践来看,部署工作有两大困难,一个是架构设计,一个是排查错误.其中,当部署过程中出现错误,需要排查的时候,如果不了解基础的系统结构原理和基础的安装步骤,是很难定位和解决问题的. 现在Openstack的部署有很多可选项,主要有: 1)根据社区官网最基础的安装文档根据设计对每一个service组件进行安装,这种安装方式最基础,全手工: 2)使用Mirantis公司的Fuel工具进行部署.这种部署方式非常高效,界面友好,Fuel工具真正实现了一键部署,只要设计好网络和功能节点分布,一键部署完成

Openstack 安装部署指南翻译系列 之 环境配置

1.1.1. 环境配置 为了最大限度地减少混乱并为OpenStack提供更多资源,建议最少安装Linux发行版.此外,必须在每个节点上安装64位版本的发行版. 环境选项主要包括以下几个部分: l 安全 l 主机网络 l 网络时间协议(NTP) l OpenStack包 l SQL数据库 l 消息队列 l Memcached 1.1.1.1. 安全 OpenStack服务支持各种安全方法,包括密码,策略和加密.另外,包括数据库服务器和消息代理在内的支持服务支持密码安全性. 为了简化安装过程,本指南

Openstack 安装部署指南翻译系列 之 网络

网络包括两种类型,网络选项1:提供商网络(Provider networks)和网络选项2:自助网络(Self-service networks),其中网络选项2:自助网络(Self-service networks)能够实现更加高级的网络功能,能够实现网络选项1的所有功能,因此我们的项目选择网络选项2:自助网络(Self-service networks).以下是虚拟网络选项的说明: 1.1.1.1. 网络选项1:提供商网络(Provider networks) 提供商网络选项以最简单的方式部

Openstack安装部署指南翻译系列 之 硬件需求

1.1.1.1. 控制节点 控制器节点运行身份服务,镜像服务,计算的管理部分,网络的管理部分,各种网络代理和仪表板.它还包括支持服务,如SQL数据库,消息队列和NTP. 可选地,控制节点运行块存储,对象存储,编排和计量服务的部分. 控制器节点至少需要两个网络接口. 1.1.1.2. 计算节点 计算节点运行虚拟机实例的Compute 的管理程序部分.默认情况下,Compute使用KVM虚拟机管理程序.计算节点还运行网络服务代理,将实例连接到虚拟网络,并通过安全组向实例提供防火墙服务. 可以部署多个

Openstack 安装部署指南翻译系列 之 启动一个实例

本节创建必要的虚拟网络以支持启动实例.网络选项1包括一个提供者provider(external)网络,一个实例使用它.网络选项2包括一个提供商provider网络,一个实例使用它,一个自助服务(private)网络与一个使用它的实例.本节中的说明使用控制器节点上的命令行界面(CLI)工具.但是,可以按照安装工具的任何主机上的说明进行操作.有关CLI工具的更多信息,请参阅Pike的 OpenStackClient文档.要使用仪表板(dashboard),请参阅仪表板(dashboard)用户文档