1. 程式人生 > >Openstack 安裝部署指南翻譯系列 之 Keystone服務安裝(Identity)

Openstack 安裝部署指南翻譯系列 之 Keystone服務安裝(Identity)

openstack 翻譯 keystone安裝

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在端口500035357上提供身份服務請求。默認情況下,keystone服務仍會監聽這些端口。

1、運行以下命令安裝軟件包:

# yum install openstack-keystone httpd mod_wsgi

2、編輯/etc/keystone/keystone.conf文件並完成以下操作:

在該[database]部分中,配置數據庫訪問:

[database]

# ...

connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/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_URLOS_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文件。這些腳本通常包含所有客戶端的常用選項,但也支持唯一選項。

一、創建腳本

創建客戶端環境的腳本admindemo 項目和用戶。本指南的後面部分將引用這些腳本來為客戶端操作加載適當的憑據。

註意:客戶端環境腳本的路徑不受限制。為方便起見,可以將腳本放置在任何位置,但請確保它們可訪問並位於適合部署的安全位置,因為它們包含敏感憑據。

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_PASSadmin身份服務中為用戶選擇的密碼。

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_PASSdemo身份服務中為用戶選擇的密碼。

二、使用腳本

要作為特定項目和用戶運行客戶端,可以在運行相關聯的客戶端環境腳本之前簡單加載它們。例如:

1、加載admin-openrc文件以使用Identity服務和admin項目的位置填充環境變量以及用戶憑據:

$ . admin-openrc

2、請求身份驗證令牌:

$ openstack token issue


本文出自 “yuweibing的技術博客” 博客,請務必保留此出處http://yuweibing.blog.51cto.com/3879355/1981176

Openstack 安裝部署指南翻譯系列 之 Keystone服務安裝(Identity)