本文介绍如何在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.

Ubuntu 14.04 LTS 安装 Juno 版 OpenStack Keystone的更多相关文章

  1. Ubuntu 14.04 LTS 配置 Juno 版 Keystone

    keystone配置概况 采用包安装方式安装的keystone,重要的文件结构有如下: /etc/keystone/ - 包含keystone所有的配置信息 /var/log/keystone/ - ...

  2. ubuntu 14.04 lts安装教程:u盘安装ubuntu 14.04 lts步骤

    绿茶小编带来了ubuntu 14.04 lts安装教程,下文详细讲解了u盘安装ubuntu 14.04 lts的步骤,很简单,只需要一个工具就能够轻松使用u盘安装ubuntukylin 14.04系统 ...

  3. Ubuntu 14.04 LTS 安装和配置Bochs

    Ubuntu 14.04 LTS 安装和配置Bochs       系统是:Ubuntu 14.04 LTS 64位 安装的是:bochs-2.6.8 Bochs 需要在 X11 环境下运行,因此你的 ...

  4. Ubuntu 14.04 LTS 安装Docker

    Docker官方是有很详细的安装文档(https://docs.docker.com/engine/installation/ubuntulinux/),这里做了一个Ubuntu 14.04 LTS中 ...

  5. Ubuntu 14.04 LTS 安装Docker(转)

    转自:https://www.cnblogs.com/leolztang/p/5097278.html Docker官方是有很详细的安装文档(https://docs.docker.com/engin ...

  6. Ubuntu 14.04 LTS 安装 spark 1.6.0 (伪分布式)-26号开始

    需要下载的软件: 1.hadoop-2.6.4.tar.gz 下载网址:http://hadoop.apache.org/releases.html 2.scala-2.11.7.tgz 下载网址:h ...

  7. Ubuntu 14.04 LTS 安装 VNC Viewer

    1.修改镜像源: /etc/apt/sources.list将"http://archive.ubuntu.com/ubuntu/"替换为: http://cn.archive.u ...

  8. Ubuntu 14.04 LTS 安装 NVIDIA 显卡驱动后的屏幕亮度调节问题

    安装 Ubuntu,对于 NVIDIA 显卡,默认情况下会使用第三方开源驱动,并且一般情况下,第三方开源驱动和系统兼容性更好.由于 NVIDIA 显卡驱动不是开放的,所以对 Linux 系统的原生支持 ...

  9. ubuntu 14.04 LTS 安装ss客户端

    附: 配置pac模式 ss客户端 ss客户端 前提环境 python (用最新的就行) pip (注:python工具) build-essential 以上可以通过一条命令解决: sudo apt- ...

随机推荐

  1. 每日英语:What You Like Best: Shopping, Food and Tech

    In a year that featured one of history's biggest corporate buyouts, a stock-market surge reminiscent ...

  2. 每日英语:China Pipeline Explosions Kill 52

    BEIJING—The death toll from a pair of oil pipeline explosions on Friday in the eastern China port ci ...

  3. 【delphi】多线程与多线程同步

    在 Delphi 中使用多线程有两种方法: 调用 API.使用 TThread 类; 使用 API 的代码更简单. CreateThread function CreateThread( lpThre ...

  4. 在构造函数中使用new时的注意事项

    果然,光看书是没用的,一编程序,很多问题就出现了-- 注意事项: 1. 如果构造函数中适用了new初始化指针成员,则构析函数中必须要用delete 2. new与delete必须兼容,new对应del ...

  5. 移动web开发(四)——X-UA-Compatible

    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> IE=edge告诉 ...

  6. spring batch中MyBatisPagingItemReader分页使用介绍

    假如是mysql的话,SQL语句 <![CDATA[select * from ( SELECT so.* FROM t_tm_sales_order so where so.last_modi ...

  7. 1. 通俗易懂解释知识图谱(Knowledge Graph)

    1. 通俗易懂解释知识图谱(Knowledge Graph) 2. 知识图谱-命名实体识别(NER)详解 3. 哈工大LTP解析 1. 前言 从一开始的Google搜索,到现在的聊天机器人.大数据风控 ...

  8. 怎样用Google APIs和Google的应用系统进行集成(2)----Google APIs的全部的RESTFul服务一览

    上篇文章,我提到了,Google APIs暴露了86种不同种类和版本号的API.我们能够通过在浏览器里面输入https://www.googleapis.com/discovery/v1/apis这个 ...

  9. 回顾一下Unix哲学

    Unix哲学是一些先哲们多方位阐述的,有多种说法.可以概括为以下几点: 模块原则:使用简洁的接口拼合简单的部件. 清晰原则:清晰胜于机巧. 组合原则:设计时考虑拼接组合. 分离原则:策略同机制分离,接 ...

  10. [mqtt]mqtt嵌入式移植

    github eclipse paho source code: https://github.com/mqtt/mqtt.github.io/wiki/libraries STM32 mqtt移植: ...