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篇缩略图 Ubuntu搭建Openstack平台(kilo)——keystone篇](https://www.72715.net/wp-content/uploads/2023/05/19885f799003b7b4bb8e9f492227d8da.png)
接下来需要配置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已经成功安装和配置。