Ubuntu搭建Openstack平台(kilo)——keystone篇

```sudo apt-get updatesudo apt-get install mysql-server python-mysqldb安装过程中会提示输入root用户密码。

在搭建Openstack平台的过程中,keystone是不可或缺的一部分。它是Openstack中的认证服务,用于管理用户、角色和权限等信息。下面将详细介绍在Ubuntu系统上如何搭建keystone。

1. 安装和配置数据库

首先需要安装并配置数据库,这里以MySQL为例。

1.1 安装MySQL

使用以下命令安装MySQL:

“`

sudo apt-get update

sudo apt-get install mysql-server python-mysqldb

安装过程中会提示输入root用户密码,请根据实际情况填写。

1.2 配置MySQL

打开/etc/mysql/my.cnf文件,并添加以下内容:

[mysqld]

bind-address = 127.0.0.1

default-storage-engine = innodb

innodb_file_per_table = true

max_connections = 4096

collation-server = utf8_general_ci

character-set-server = utf8

[client]

default-character-set=utf8

[mysql]

保存并退出文件,并重启MySQL服务:

sudo service mysql restart

2. 安装和配置keystone

接下来需要安装和配置keystone。

2.1 安装keystone

使用以下命令安装keystone:

sudo apt-get install keystone python-openstackclient apache2 libapache2-mod-wsgi memcached python-memcache

“`

注意:在执行该命令之前,请确保已经安装了Ubuntu Cloud Archive kilo版本。

2.2 配置keystone

打开/etc/keystone/keystone.conf文件,并修改以下内容:

[database]

connection = mysql://keystone:password@controller/keystone

[token]

provider = keystone.token.providers.uuid.Provider

driver = keystone.token.persistence.backends.sql.Token

[memcache]

servers = localhost:11211

[revoke]

driver = keystone.contrib.revoke.backends.sql.Revoke

其中,connection参数的值必须填写正确的数据库连接信息,包括用户名、密码和主机名等。在本例中,用户名为“keystone”,密码为“password”,主机名为“controller”。

完成配置后,请执行以下命令:

sudo su -s /bin/sh -c “keystone-manage db_sync” keystone

该命令会创建数据库表格。

3. 配置Apache服务器

Ubuntu搭建Openstack平台(kilo)——keystone篇

接下来需要配置Apache服务器。

3.1 创建Apache虚拟主机文件

使用以下命令创建/etc/apache2/sites-available/wsgi-keystone.conf文件:

sudo nano /etc/apache2/sites-available/wsgi-keystone.conf

并添加以下内容:

Listen 5000

Listen 35357

WSGIDaemonProcess keystone-public processes=5 threads=1 user=www-data group=www-data display-name=%{GROUP}

WSGIProcessGroup keystone-public

WSGIScriptAlias / /usr/bin/keystonewsgi-public

Order allow,deny

Allow from all

Require all granted

# Logging Additions

ErrorLogFormat “%{cu}t %M”

ErrorLog /var/log/apache2/keystone-error.log

CustomLog /var/log/apache2/keystone-access.log combined

WSGIDaemonProcess keystone-admin processes=5 threads=1 user=www-data group=www-data display-name=%{GROUP}

WSGIProcessGroup keystone-admin

WSGIScriptAlias / /usr/bin/keystonewsgi-admin

# Logging Additions

ErrorLogFormat “%{cu}t %M”

ErrorLog /var/log/apache2/keystone-error.log

CustomLog /var/log/apache2/keystone-access.log combined

保存并退出文件。

3.2 启用Apache虚拟主机文件

使用以下命令启用Apache虚拟主机文件:

sudo ln -s /etc/apache2/sites-available/wsgi-keystone.conf /etc/apache2/sites-enabled

然后重启Apache服务器:

sudo service apache2 restart

4. 配置环境变量

最后需要配置一些环境变量,以便在使用Openstack命令时能够正确连接到认证服务。

打开/etc/environment文件,并添加以下内容:

export OS_USERNAME=admin

export OS_PASSWORD=password

export OS_TENANT_NAME=admin

export OS_AUTH_URL=

其中,OS_USERNAME、OS_PASSWORD和OS_TENANT_NAME参数的值必须填写正确的用户名、密码和租户名。在本例中,用户名为“admin”,密码为“password”,租户名为“admin”。

5. 测试keystone

完成以上步骤后,可以使用以下命令测试keystone是否正常运行:

openstack token issue

如果输出了一个token,则说明keystone已经成功安装和配置。