易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 4775|回复: 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.: S6 k: i8 E0 E! y4 s
. _( z6 W8 v% d# z
  本文分别介绍了利用操作系统的包管理机制和利用源代码安装. 源码安装时还可以让Keystone运行在一个独立的虚拟环境中. 本文对应的系统环境是已经安装了Python 2.7.x的Ubuntu.; d+ {2 _7 `" F7 u
) m3 P' ?9 J' b' V6 B" [

3 n3 M9 f' q! F8 T9 `- g! }# O5 v. \  F& x1 d
身份数据库! b3 R9 U! g$ B" k8 v# E$ \
) J5 H2 i/ Y! |$ Y4 t1 D
  Keystone的身份数据库可以使用SqLite和MySQL等存储后端, 如果选择特定的数据库, 应该在使用Keystone前安装这些目标数据库, 并为Keystone专门建表建库. 这里以使用MySQL为例.  h+ Q9 k7 A) {) g- X: d$ a
  O+ P3 b0 o: d
  安装MySQL, 过程中会要求设置根用户口令.7 ^% g3 t. n$ i8 W
1 x" [$ g6 H# K# o4 g5 [
$ apt-get install mysql-server python-mysqldb
1 z& T( ~% ^6 @- ?0 ~
2 h3 j$ r5 E% j# N( k
# q; v$ q& d6 V9 A2 \3 M  为Keystone创建用户和数据库.( Y! Y8 _9 ]! K; `1 Y
0 i. u* z: A' i  u( g
$ mysql -uroot -p- R# ?& I6 R3 k+ a9 X
$ RootPass
  M) B3 p4 L* S  U4 {> create database keystone;
3 `! T; U0 n. d) V  {. ~> grant all on keystone.* to 'keystone'@'localhost' identified by 'KeystonePass';
# l. m% W7 b  P4 K; _> quit
' z/ J) d% `; O' {, u; L   如果采用SqLite作为存储后端, 只需要在后续配置Keystone时设置驱动和存储文件即可.& T' k0 B/ v0 z3 W" w1 \

, J6 A, x4 l! q" o5 V' t+ s4 S8 U# ^0 E/ \* ^- v
一. 包安装Keystone
8 j0 m' r' r3 A& y: @5 P
' C3 x( Z  P- H3 i/ ^0 I   OpenStack俨然已经成为Ubuntu, RedHat等系统厂商的宠儿, 这些系统提供商对这个项目的支持方便了用户的部署, 利用Ubuntu的包管理工具, 我们可以非常容易地部署OpenStack的任意项目. 由于包安装的方式极为简便, 我们需要确保的就是在Ubuntu的云存档种获得我们需要版本的OpenStack组件.& L; P: ~4 i6 r7 _3 z; U
4 L  T' G1 k( V6 l6 Z
  添加 Juno 版 OpenStack的存档库(Icehouse 等版本的操作类似):2 c0 ?3 r5 Y8 \# P4 B- j
6 D. f: ~) u9 Y; |( r1 k
复制代码
6 P+ {; a# Y! e% x" o# }7 W. P9 N2 z$ sudo add-apt-repository cloud-archive:juno+ S: i* ]  ?& x4 s0 l9 i
# _  q* n0 O% f
Ubuntu Cloud Archive for OpenStack Juno+ c! I: W" [$ v0 O8 H+ n- e3 E
More info: https://wiki.ubuntu.com/ServerTeam/CloudArchive5 `! ^/ N$ s+ F$ M
Press [ENTER] to continue or ctrl-c to cancel adding it
; c7 N9 W+ B2 Y- ?. B/ [...1 ~1 @4 F: E: @
复制代码
2 f# Q* E' A7 \/ E) T# P- b& h4 U
( F# ~( p0 h+ a: {  ]  W
" g4 L- O1 Z$ }# W% q( r7 \. h+ G  接着更新安装包列表:
% ?, t! b! V$ `/ L3 V: O/ V5 u. j8 ^
* e7 q, F0 ^& D9 ^" P1 Q, ]$ sudo apt-get update% _3 a$ k1 u! x

# L: N( e0 k0 z* [& Q" y8 C7 w, b! P. h6 k# ~0 |
  事实上此时已经可以安装Juno 版 OpenStack的任意组件了:* n: e1 z; L! A
" A$ w1 M- R" i( O2 `6 G/ O0 P  N
$ sudo apt-get install keystone
7 X! t2 }9 v% \6 s( n % v' k. c/ ?0 r1 p  s- |9 A
/ b( g6 ?. Q# F# S" a
二. 源码安装Keystone
  w. s2 a: z- A. Z: \$ N, }. T( E
  安装git,用来下载源码:
( H: S& g/ D8 l: J5 E
1 M# [- V% B; F1 [5 T$ sudo apt-get install git- _/ O$ p& E; s2 r2 r) F# \6 [4 D

5 D$ o$ g1 o" H9 g! h2 t8 D& Y1 U& `, F, f; Q& j
  获取源码, 会在当前 shell 的工作目录下生成一个名为"keystone"的目录用来同步源码, 也可以更改路径和目录名, 具体参考Git clone指令.
% O4 j. V, V+ J" t1 ?4 d2 p1 M2 x/ v5 }0 h  J
$ git clone https://github.com/openstack/keystone
4 \5 O/ q. T% B, O2 Q) G + M% D5 _; ]9 ~. K- i
' t/ T! j8 H1 Q: T& X
  OpenStack基本基于Python实现, 依赖的大多数项目都可以从Python的包目录Pypi上获取, 但是根据具体的操作系统, 有一些依赖关系是无法使用Python的包管理解决的, 所以我们需要在安装Keystone的代码前先满足这些依赖.$ j+ o' q" [; ?( i; `, Q9 S$ i
9 H; D& e. k0 G, S$ b
$ sudo apt-get install python-dev libxml2-dev libxslt1-dev \
  H( J' V# @4 J& D, y: U1 S   libsasl2-dev libsqlite3-dev libssl-dev libldap2-dev libffi-dev
2 u, d, M6 I+ L2 G& U. t& O1 ]  : D) \$ G  P/ H
4 V7 x# Z" V! w  c2 ~
  从Pypi上获取Python包需要借助pip或easy_install, 这里以pip为例, 安装pip.
  k6 l  r% |/ a7 A' C; P5 p2 h; ~/ o9 x) V5 o: p
$ wget https://bootstrap.pypa.io/get-pip.py; c" O" Q7 w/ ]* ^" A
$ python get-pip.py- R2 r7 i) L' t" ^% ~
  
7 c+ H7 L+ t7 r7 E
7 c* T" W% F, r" _& E! k  虚拟环境安装$ w3 y) k+ C" D) k" X
  V* Y/ Z; t6 n
  接下来就可以从源码安装Keystone了, 如果要在虚拟的Python环境中运行它, 执行这两条指令, 否则查看 "非虚拟环境安装" ./ Q, P" X* \# {5 Y. O' r# H2 k9 G& Q
" `, Q' k/ G  W4 y/ q8 g4 O, x2 e) W
$ cd keystone
8 V9 g- ]# M+ \9 M$ python tools/install_venv.py( ~) l( l/ j! |+ b0 l7 e9 g8 O

, A' E3 a/ s1 C% G! \
, F1 ]. `$ ~; ^8 q  上述命令将在keystone/.venv目录下安装Keystone的虚拟运行环境, 通过下面的命令启动或关闭虚拟运行环境:
8 N1 h& U. }7 {% i
  H9 A7 @  i3 ^% s$ source .venv/bin/activate #开启' }6 w& N% ]* h# }" y2 C" ]2 s
$ deactivate #关闭# u) C& D: W. i# |' c# f
8 ?, v0 ^$ p6 q: A( ~: k
' c# A. v' W- @: m( Z0 J5 h: X' s. J
  非虚拟环境安装& x4 `% G0 e! a& L+ ]' Q( ~6 c/ L

8 q  t5 f$ o! k  q  X- c' V* j  如果不想在虚拟环境下运行Keystone:+ y0 d/ m7 e. q7 Z# h

/ `# a. Y1 o3 I$ sudo pip install -r requirements.txt #安装Keystone运行依赖
; j7 ^/ ~. C6 t$ python setup.py develop #将keystone链入Python的本地包6 O/ q- ?5 P" b1 r: h" a
  " @1 W. V/ t$ k5 {

) ]$ [* `% |* M; g0 ~, Z) B  验证安装完成
7 t9 \* E& b0 Q4 N* [: U) z5 E' @( b5 _  K) m8 f
  至此源码安装完成, 在虚拟环境下:/ w" u0 e2 a7 Y

/ w4 H$ p5 W1 l% R$ source .venv/bin/activate
2 {/ G4 _$ ^9 ?; G) j& q. T' ?# G% b' }. ]$ python
1 Y5 [. ^- z5 b3 Q 7 l1 ~( p* |( @
$ t5 \& v  G1 Y9 h) y9 ?, e
  或在非虚拟环境下:6 `0 ]$ b5 S9 G  t4 ^
( W4 M4 d+ O* ?5 B
$ python
/ C5 u6 _- [) C   U* Z& |( X9 E3 l* c

: |% o+ B, {1 ^3 l) [# L在Python的交互界面中import keystone, 看看是否成功, 如果没有异常, 说明keystone已经被正确安装了.
1 z# f7 `+ p) L3 m$ {>>> import keystone
1 Q6 k# m' Y0 c% M8 K: g6 n>>>
% H3 X* W4 g0 @+ D" h   这些工作也可以写成脚本执行, 虽然针对的只是Keystone, 但安装的逻辑和流程同样适用于OpenStack的其他项目.- R" l7 ]9 F- v

3 j" h' w( g, y+ ]4 r6 \4 V  安装完成的Keystone并不能运行, 接下来需要对其进行配置和初始化
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

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

GMT+8, 2026-4-8 21:39 , Processed in 0.042291 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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