Ubuntu 14.04 LTS 安装 Juno 版 OpenStack Keystone

时间:2024-04-12 13:37:54

  本文介绍如何在Ubuntu 14.04 LTS 上安装Juno版的Keystone, 我们采用的是手动安装的方式, 同时仅针对OpenStack的身份与访问管理系统Keystone. 事实上OpenStack不同服务之间提供了非常高的一致性, 对Keystone安装的把握能够帮助理解如何部署OpenStack.

  本文分别介绍了利用操作系统的包管理机制和利用源代码安装. 源码安装时还可以让Keystone运行在一个独立的虚拟环境中. 本文对应的系统环境是已经安装了Python 2.7.x的Ubuntu.

身份数据库

  Keystone的身份数据库可以使用SqLite和MySQL等存储后端, 如果选择特定的数据库, 应该在使用Keystone前安装这些目标数据库, 并为Keystone专门建表建库. 这里以使用MySQL为例.

  安装MySQL, 过程中会要求设置根用户口令.

$ apt-get install mysql-server python-mysqldb

  为Keystone创建用户和数据库.

$ mysql -uroot -p
$ RootPass
> create database keystone;
> grant all on keystone.* to 'keystone'@'localhost' identified by 'KeystonePass';
> quit

  如果采用SqLite作为存储后端, 只需要在后续配置Keystone时设置驱动和存储文件即可.


一. 包安装Keystone

   OpenStack俨然已经成为Ubuntu, RedHat等系统厂商的宠儿, 这些系统提供商对这个项目的支持方便了用户的部署, 利用Ubuntu的包管理工具, 我们可以非常容易地部署OpenStack的任意项目. 由于包安装的方式极为简便, 我们需要确保的就是在Ubuntu的云存档种获得我们需要版本的OpenStack组件.

  添加 Juno 版 OpenStack的存档库(Icehouse 等版本的操作类似):

$ sudo add-apt-repository cloud-archive:juno

Ubuntu Cloud Archive for OpenStack Juno
More info: https://wiki.ubuntu.com/ServerTeam/CloudArchive
Press [ENTER] to continue or ctrl-c to cancel adding it
...

  接着更新安装包列表:

$ sudo apt-get update

  事实上此时已经可以安装Juno 版 OpenStack的任意组件了:

$ sudo apt-get install keystone

 二. 源码安装Keystone

  安装git,用来下载源码:

$ sudo apt-get install git

  获取源码, 会在当前 shell 的工作目录下生成一个名为"keystone"的目录用来同步源码, 也可以更改路径和目录名, 具体参考Git clone指令.

$ git clone https://github.com/openstack/keystone

  OpenStack基本基于Python实现, 依赖的大多数项目都可以从Python的包目录Pypi上获取, 但是根据具体的操作系统, 有一些依赖关系是无法使用Python的包管理解决的, 所以我们需要在安装Keystone的代码前先满足这些依赖.

$ sudo apt-get install python-dev libxml2-dev libxslt1-dev \
libsasl2-dev libsqlite3-dev libssl-dev libldap2-dev libffi-dev

  

  从Pypi上获取Python包需要借助pip或easy_install, 这里以pip为例, 安装pip.

$ wget https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py

   

  虚拟环境安装

  接下来就可以从源码安装Keystone了, 如果要在虚拟的Python环境中运行它, 执行这两条指令, 否则查看 "非虚拟环境安装" .

$ cd keystone
$ python tools/install_venv.py

  上述命令将在keystone/.venv目录下安装Keystone的虚拟运行环境, 通过下面的命令启动或关闭虚拟运行环境:

$ source .venv/bin/activate #开启
$ deactivate #关闭

  非虚拟环境安装

  如果不想在虚拟环境下运行Keystone:

$ sudo pip install -r requirements.txt #安装Keystone运行依赖
$ python setup.py develop #将keystone链入Python的本地包

  

  验证安装完成

  至此源码安装完成, 在虚拟环境下:

$ source .venv/bin/activate
$ python

  或在非虚拟环境下:

$ python
在Python的交互界面中import keystone, 看看是否成功, 如果没有异常, 说明keystone已经被正确安装了.
>>> import keystone
>>>

  这些工作也可以写成脚本执行, 虽然针对的只是Keystone, 但安装的逻辑和流程同样适用于OpenStack的其他项目.

  安装完成的Keystone并不能运行, 接下来需要对其进行配置和初始化, 下一篇随笔将介绍如何配置Keystone.