易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 4774|回复: 0
收起左侧

Ubuntu 14.04 LTS 安装 Juno 版 OpenStack Keystone

[复制链接]
发表于 2016-9-7 09:58:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
 本文介绍如何在Ubuntu 14.04 LTS 上安装Juno版的Keystone, 我们采用的是手动安装的方式, 同时仅针对openstack的身份与访问管理系统Keystone. 事实上OpenStack不同服务之间提供了非常高的一致性, 对Keystone安装的把握能够帮助理解如何部署OpenStack.
' q  u% _6 F2 v/ k" O( M* Z
+ i/ {; `. f4 O2 Y& B) N4 v, L  z  本文分别介绍了利用操作系统的包管理机制和利用源代码安装. 源码安装时还可以让Keystone运行在一个独立的虚拟环境中. 本文对应的系统环境是已经安装了Python 2.7.x的Ubuntu.' N' d, B' s0 E. }0 [5 Z6 }7 }

  X7 e! {! r/ C4 N ! W# m/ L$ i5 b3 h7 b( ?1 i

* o! S" g" q, G7 i$ t身份数据库* Q) ]) |. y4 R9 g
2 G1 ^( w  S9 `- y- A
  Keystone的身份数据库可以使用SqLite和MySQL等存储后端, 如果选择特定的数据库, 应该在使用Keystone前安装这些目标数据库, 并为Keystone专门建表建库. 这里以使用MySQL为例.7 N+ Q- q5 H  v  h# o' u, ^% B$ d
9 U  p+ o! W/ o! H: ?- T$ y& a
  安装MySQL, 过程中会要求设置根用户口令.* L$ E# ~) Q5 H) a. T2 K
- H6 |, j( M1 {: k/ M
$ apt-get install mysql-server python-mysqldb( X4 ]2 K! e; w
( J: @4 ]3 m% z. ]# \/ m* }7 {
2 x3 T9 l0 r+ J  H8 G  t
  为Keystone创建用户和数据库.+ f. d0 h1 g* W4 Q# t
+ Z/ S6 X% J4 t0 {- ~; H4 D' G) B7 A9 I
$ mysql -uroot -p
# U7 p& K$ p- z+ A3 v$ RootPass
4 F, m) q1 P* l7 k! w> create database keystone;4 q, ^* V' Z6 j" G
> grant all on keystone.* to 'keystone'@'localhost' identified by 'KeystonePass';5 N5 ~' M+ B6 Y$ {8 ^
> quit& v+ N- l! Q1 V4 |! U6 }
  如果采用SqLite作为存储后端, 只需要在后续配置Keystone时设置驱动和存储文件即可.+ x5 r$ ]5 d% m; v$ H/ S
( `; W) J) E  b9 s

# G% d" K' Z( o8 B7 \+ F一. 包安装Keystone4 K3 d& a! f: v! K& r% \. s  C: o0 |
% c# d: L2 v) M. R# ]
   OpenStack俨然已经成为Ubuntu, RedHat等系统厂商的宠儿, 这些系统提供商对这个项目的支持方便了用户的部署, 利用Ubuntu的包管理工具, 我们可以非常容易地部署OpenStack的任意项目. 由于包安装的方式极为简便, 我们需要确保的就是在Ubuntu的云存档种获得我们需要版本的OpenStack组件.
2 |+ ?9 V4 V% h4 V. b7 D
1 b: J/ k  ^4 f: `$ a7 M0 t* P' h  添加 Juno 版 OpenStack的存档库(Icehouse 等版本的操作类似):
- T% G4 S5 Z" a, ~9 I2 e
, Q$ s( J, }* g# ~3 k/ X复制代码0 q1 L/ P5 `( B# n& y1 d; F2 X+ X
$ sudo add-apt-repository cloud-archive:juno
7 E4 h/ _0 t' Y+ W4 A' |! G, H! ?% K) d; y: |( ?/ N- q
Ubuntu Cloud Archive for OpenStack Juno7 G: k$ T0 i6 a8 ~
More info: https://wiki.ubuntu.com/ServerTeam/CloudArchive
/ b/ C) U3 @: s4 T3 |5 C2 aPress [ENTER] to continue or ctrl-c to cancel adding it
7 k9 I4 q) i7 W7 S...
1 G. A, M; a1 n7 U! S8 V, X复制代码
4 k# M- ^0 j) i5 Y $ _5 ]8 |  h' U1 S
9 ]9 m6 _3 K5 r/ D2 e, f
  接着更新安装包列表:
& R7 `/ U$ C! I
% @( H& k; w% U+ I& d* B! K$ sudo apt-get update- k7 g& F4 j) E0 s7 J
+ H% t" `# n# h; ~( T
8 w  Z  ^# K) _( U
  事实上此时已经可以安装Juno 版 OpenStack的任意组件了:8 {6 D  `/ b; d4 W5 |, |% m

" v# b5 F& i$ o* S' D+ a, G% l$ sudo apt-get install keystone+ w4 d" |* n& @& r0 q5 C
- |! U: X! Z# b# K7 z2 i* d
+ S2 s0 T( Y- I( t! b
二. 源码安装Keystone( f8 T! U- h3 u( V# a2 Y- i! y

- S$ e/ e$ q) T! I. r& @; V  安装git,用来下载源码:. J- ]& u9 h6 ^. d! g
! X6 a" K" f2 \% U5 _8 j+ c! W) s
$ sudo apt-get install git8 h- u! M' x" d

) m! U1 y$ P/ O/ ^0 v- C% `  _6 n' L4 c
  获取源码, 会在当前 shell 的工作目录下生成一个名为"keystone"的目录用来同步源码, 也可以更改路径和目录名, 具体参考Git clone指令.
* t! p% O3 v3 w; `0 j. b5 {1 ~6 @; |  V
$ git clone https://github.com/openstack/keystone
% F9 [" @( p) A' X- [1 F! v2 l
$ J- Z) F: p" J1 F1 O2 R
) [* l% m' ?. a3 d; y5 x& h  OpenStack基本基于Python实现, 依赖的大多数项目都可以从Python的包目录Pypi上获取, 但是根据具体的操作系统, 有一些依赖关系是无法使用Python的包管理解决的, 所以我们需要在安装Keystone的代码前先满足这些依赖./ @' k6 s5 M! X. k

$ Y7 I4 q, q" _& z4 Y$ sudo apt-get install python-dev libxml2-dev libxslt1-dev \
$ ?# h; m" q7 @   libsasl2-dev libsqlite3-dev libssl-dev libldap2-dev libffi-dev
; w+ E6 S3 |* V& L9 F- B  7 K% p' T1 h/ V9 t& c7 M
+ M: b( e; O, m# F' _- A6 n
  从Pypi上获取Python包需要借助pip或easy_install, 这里以pip为例, 安装pip.9 O+ M8 l  L; y- [3 z) b$ e& Q

6 n9 {: ^" a  `. t$ wget https://bootstrap.pypa.io/get-pip.py
3 f1 a' L# ?4 c2 N# C3 W- r6 E$ python get-pip.py1 [( M$ C' _( {6 o# L0 g* u
  
% ]7 V/ P8 \0 M. F6 ]1 n
- j, @' b2 H0 o( p4 B& ~4 ?  虚拟环境安装) z8 H2 b; b1 F) d8 l
, [8 l1 C. a& z# D
  接下来就可以从源码安装Keystone了, 如果要在虚拟的Python环境中运行它, 执行这两条指令, 否则查看 "非虚拟环境安装" .- x: u, L/ j1 `) S7 K' b
. a) T9 b' Y2 M
$ cd keystone
7 i( t2 c5 M+ j  ?& H$ python tools/install_venv.py/ W" C! N) G  @( _8 H

% \9 l& p2 a5 u2 p  |
/ w6 A# n) J: C( e( m9 v  上述命令将在keystone/.venv目录下安装Keystone的虚拟运行环境, 通过下面的命令启动或关闭虚拟运行环境:
( _: I* @$ V( I% \8 O1 X' O2 s4 G6 D$ m  X6 c' l5 Z. ?( A
$ source .venv/bin/activate #开启
1 B8 c0 N. |% I# |$ deactivate #关闭
( j/ E  T& X' B0 F( {' b ( T  e6 i" M9 ^
9 A- l6 Q% z, V7 C% _! W+ @6 N, v
  非虚拟环境安装1 N* x5 {& }. s# [' f
# q' H- S; a5 V2 a- ^4 e' r
  如果不想在虚拟环境下运行Keystone:
+ p, A. P& k& t
. B( ?' A/ K4 ]+ I$ sudo pip install -r requirements.txt #安装Keystone运行依赖
% }8 \3 D$ ?3 e) c" a$ python setup.py develop #将keystone链入Python的本地包
, }6 N# B6 M( |   4 W9 a4 F7 h3 e0 D$ s+ \
! T& _$ d& m2 J
  验证安装完成
1 X9 j" ~% E6 r, H; Y$ \
  i2 Z8 S, M. c  至此源码安装完成, 在虚拟环境下:
6 z6 A& p; u" d/ n8 v4 G, A  h/ F* x& Y& j8 t+ G
$ source .venv/bin/activate
1 R+ x9 `$ U  b( q" A" J; T- W4 l! U$ python
" J3 |+ Y- Q5 F! i6 ~$ W( Z / t, ]# X' I0 I. E: a# G

9 Y, H3 i+ X' Z- h& h) ?& f  或在非虚拟环境下:6 I* T5 `) B. p; e
3 |! [8 G/ W# L# @
$ python
: B8 [) v* T! a3 v- u! |) B " B7 d! z& G! _. U& I( I6 ^4 ]1 q/ G
* S$ T1 D! A+ B8 B- H
在Python的交互界面中import keystone, 看看是否成功, 如果没有异常, 说明keystone已经被正确安装了.8 }, w$ R( \$ S
>>> import keystone
9 X/ q2 |. s0 }, A: J. x2 H>>> & v1 ^( P5 u9 g5 [+ M% H
  这些工作也可以写成脚本执行, 虽然针对的只是Keystone, 但安装的逻辑和流程同样适用于OpenStack的其他项目., T1 a! H- A4 u! K) e7 ^
9 O  I% z$ N* F# L
  安装完成的Keystone并不能运行, 接下来需要对其进行配置和初始化
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-8 21:37 , Processed in 0.071853 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表