OpenStack 安装 Keystone的过程详解

  • Post category:http

以下是关于“OpenStack 安装 Keystone 的过程详解”的完整攻略:

简介

Keystone是OpenStack中的身份认证服务,它提供了用户认证、授权和服务目录等功能。本文将介绍如何在OpenStack中安装和配置Keystone服务。

安装 Keystone

1. 安装依赖项

在安装Keystone之前,需要先安装一些依赖项。可以使用以下命令来安装:

sudo apt-get install python3-dev libffi-dev gcc libssl-dev python3-pip

2. 安装Keystone

可以使用以下命令来安装Keystone:

sudo pip3 install keystoneauth1 keystoneclient

3. 配置Keystone

在安装Keystone之后,需要进行一些配置。可以使用以下命令来创建Keystone数据库:

sudo mysql -u root -p
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'KEYSTONE_DBPASS';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DBPASS';
exit;

其中,KEYSTONE_DBPASS是Keystone数据库的密码。

4. 配置Keystone服务

可以使用以下命令来配置Keystone服务:

sudo cp /etc/keystone/keystone.conf /etc/keystone/keystone.conf.bak
sudo sed -i 's/#admin_token = ADMIN/admin_token = ADMIN_TOKEN/g' /etc/ke/keystone.conf
sudo sed -i 's/#connection = sqlite:\/\/\/\/var\/lib\/keystone\/keystone.db/connection = mysql+pymysql:\/\/keystone:KEYSTONE_DBPASS@controller\/keystone/g' /etc/keystone/keystone.conf
sudo sed -i 's/#provider = fernet/provider = fernet/g' /etc/keystone/keystone.conf
sudo su -s /bin/sh -c "keystone-manage db_sync" keystone
sudo keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
sudo keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
sudo 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是管理员密码,controller是Keystone服务所在的主机名,RegionOne是区域ID。

5. 启动Keystone服务

可以使用以下命令来启动Keystone服务:

sudo systemctl restart apache2
sudo systemctl enable apache2

示例说明

示例1:创建Keystone用户

可以使用以下命令来创建Keystone用户:

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:5000/v3
export OS_IDENTITY_API_VERSION=3

openstack user create --domain default --password-prompt keystone

其中,ADMIN_PASS是管理员密码,controller是Keystone服务所在的主机名。

示例2:创建Keystone服务

可以使用以下命令来创建Keystone服务:

openstack service create --name keystone --description "OpenStack Identity" identity

结论

通过以上步骤,我们成功地安装和配置了Keystone服务。现在,我们可以使用Keystone来进行身份认证、授权和服务目录等操作。