将设为首页浏览此站
开启辅助访问 天气与日历 收藏本站联系我们切换到窄版

易陆发现论坛

 找回密码
 开始注册
查看: 1620|回复: 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./ w$ {1 P, _$ Z/ e4 ?$ B1 a5 V" ~
% V% p5 P" ^* M1 v( u# {
  本文分别介绍了利用操作系统的包管理机制和利用源代码安装. 源码安装时还可以让Keystone运行在一个独立的虚拟环境中. 本文对应的系统环境是已经安装了Python 2.7.x的Ubuntu.
* j/ E% M, d9 w5 T' j  a/ n
7 h. h0 N5 S  v' \ ( ?) R' _# \4 _7 {( u4 B. Y6 U
$ ^& g( Y; L$ f" m/ K7 S, j. y
身份数据库
$ Y& j- S: R3 h6 k8 e
# M6 E8 W- I& j% B* p  Keystone的身份数据库可以使用SqLite和MySQL等存储后端, 如果选择特定的数据库, 应该在使用Keystone前安装这些目标数据库, 并为Keystone专门建表建库. 这里以使用MySQL为例.
7 Z6 [! U- {: V1 Y. N" v+ u& I; L6 ~) ^5 j) T6 c
  安装MySQL, 过程中会要求设置根用户口令.& [' `, k! T9 g  ]+ l. h
8 U( K# d! y" V' Q1 E3 X$ |( H
$ apt-get install mysql-server python-mysqldb$ v( Q1 B- _$ j$ ^) k

# k+ [* e- m1 b/ ?+ V( F- J% i' i) Z; O$ f' h7 [, D
  为Keystone创建用户和数据库.! }# [$ G3 q, t5 d9 l3 Q$ N1 h/ ~3 |

( R7 V7 s$ A+ s$ mysql -uroot -p6 d) N0 v5 s+ X; \( ]0 i& [/ c
$ RootPass
, W; d1 l0 d; }8 H- Y> create database keystone;) o' B8 E# N" N% R4 j' S8 x
> grant all on keystone.* to 'keystone'@'localhost' identified by 'KeystonePass';
5 y4 `. j6 o8 R  r0 y/ y7 V; u> quit, ~/ x$ w0 O" Z, v3 m
  如果采用SqLite作为存储后端, 只需要在后续配置Keystone时设置驱动和存储文件即可.
6 [- ^8 N3 Y5 V1 b  g
; z7 K1 F: U' e4 l& U+ d- M
) B2 N+ H) K. T8 f, X* D一. 包安装Keystone: \& {+ R7 U/ ~" c

# q, l# v+ q" P: l$ `2 M8 v   OpenStack俨然已经成为Ubuntu, RedHat等系统厂商的宠儿, 这些系统提供商对这个项目的支持方便了用户的部署, 利用Ubuntu的包管理工具, 我们可以非常容易地部署OpenStack的任意项目. 由于包安装的方式极为简便, 我们需要确保的就是在Ubuntu的云存档种获得我们需要版本的OpenStack组件.( j) }, C/ i. H& `$ @
/ f. Q: B  M0 V6 v# k
  添加 Juno 版 OpenStack的存档库(Icehouse 等版本的操作类似):
8 `. e. x. N1 ^+ H7 k$ m, \
1 U- n1 ]) Y: n3 p/ Z- r复制代码
! U" H* ~+ b& g9 \4 T% ?7 U$ sudo add-apt-repository cloud-archive:juno
2 I' p5 i% [2 F
' V0 e% O+ X. n1 ^2 V9 \Ubuntu Cloud Archive for OpenStack Juno
4 W1 ]5 c  Q/ C/ V" z3 SMore info: https://wiki.ubuntu.com/ServerTeam/CloudArchive
8 I% z, n  g2 f" iPress [ENTER] to continue or ctrl-c to cancel adding it# N! y, d; u/ A
...4 X- B; h3 E1 V6 l5 z2 C
复制代码+ u5 T* ]) F( T

. R& \$ E* H+ ^- q. z5 H+ Y
( R2 x6 x% f5 D. j  接着更新安装包列表:" D3 |$ g7 O6 w! g$ \3 m3 |% h

6 _$ E& H4 j# @3 z/ ^$ sudo apt-get update
. j3 ]$ m, \+ N" D6 S
0 j7 A' z9 d: d1 X! W* Z: P2 `9 n; D4 `. C  S( c) _
  事实上此时已经可以安装Juno 版 OpenStack的任意组件了:
( Y# B5 a4 Q1 {6 ^' c* A5 ]. M  @/ S: B- d3 Y/ D/ Q" p
$ sudo apt-get install keystone8 n, ]$ J6 Y2 Q9 K2 K
: _: |4 H$ w' [6 `$ }5 {- m( |' w

, F( n8 a+ w7 ?' N 二. 源码安装Keystone5 ]8 s3 O- S: S3 s
2 p- Q' N( e! T0 n6 v; l
  安装git,用来下载源码:, U/ l! b+ G& L+ T
; }$ [# ~3 F0 ?' k: b7 k
$ sudo apt-get install git: Q* C! V5 w" f4 O# N; K

. S  V) [; U7 b6 o, E5 u+ Z3 o$ F# E  M. ^  v8 e9 w" b
  获取源码, 会在当前 shell 的工作目录下生成一个名为"keystone"的目录用来同步源码, 也可以更改路径和目录名, 具体参考Git clone指令.
/ P0 U4 g7 A3 p7 E9 S
9 \) k* Z* X5 {6 x& X; ?. s$ git clone https://github.com/openstack/keystone
( a  a/ h6 k2 s% _- A4 G5 s8 z 8 q, g2 b" k) s5 U7 z8 R; j+ z

8 [( W9 L! b9 R) z9 [; }, k  OpenStack基本基于Python实现, 依赖的大多数项目都可以从Python的包目录Pypi上获取, 但是根据具体的操作系统, 有一些依赖关系是无法使用Python的包管理解决的, 所以我们需要在安装Keystone的代码前先满足这些依赖.
% @# o& [* u9 c) U, a+ r, `
2 Z: g' q$ R( @" x+ P& Q+ f, i$ sudo apt-get install python-dev libxml2-dev libxslt1-dev \9 ^/ R0 y- h  V- w- Z$ M' |7 x1 [6 N6 `
   libsasl2-dev libsqlite3-dev libssl-dev libldap2-dev libffi-dev4 P1 Q. t8 Q( a3 R& ?" ]
  ; |' `6 N# @: p$ H
8 l$ L  z+ V3 z2 j- i
  从Pypi上获取Python包需要借助pip或easy_install, 这里以pip为例, 安装pip.: v0 d  `+ M# ~1 @$ j

& Z9 s1 P% Y3 G; _$ wget https://bootstrap.pypa.io/get-pip.py
9 `. W- Q# g) k4 d: ~$ Y" g) h$ python get-pip.py( G+ z) I6 Z+ s' T1 u
  
0 g- p8 A( J  N3 _$ D" y$ t5 c6 M: r5 b
  虚拟环境安装
( t. M7 O8 F1 X+ r0 M
+ N2 ^9 s6 ^$ C9 g$ {9 q  接下来就可以从源码安装Keystone了, 如果要在虚拟的Python环境中运行它, 执行这两条指令, 否则查看 "非虚拟环境安装" .
# n6 ?; ^7 V9 e$ Z8 Y% K
8 E6 Z; y( N1 o# G; S% O: z$ V# _$ cd keystone" m0 L9 G6 c8 G& N1 I
$ python tools/install_venv.py* ?$ n/ k/ u9 Y1 K2 Y
+ O; l- |9 T$ I- ~+ n" Q5 [2 l" M
+ e6 V5 u; q$ P/ i2 |% q
  上述命令将在keystone/.venv目录下安装Keystone的虚拟运行环境, 通过下面的命令启动或关闭虚拟运行环境:
3 _  t; }2 h, D5 R3 s9 q
# _, I8 y9 F4 }. a$ source .venv/bin/activate #开启0 i7 _* t$ n7 u! K) S0 y* t, z
$ deactivate #关闭
) _* A0 D6 a5 Q
: z. j) g& L! o3 P! `
6 b, W1 ]' e# `' C5 ~  非虚拟环境安装- U# o' J1 n! c# v' q

& ?  x  w. p. b8 T0 a3 d  如果不想在虚拟环境下运行Keystone:
/ Q$ n9 r* p5 h8 F- P$ P% N) E* i& S: u* L5 U% |4 g
$ sudo pip install -r requirements.txt #安装Keystone运行依赖9 n* ^& `' B' a' H) O1 K
$ python setup.py develop #将keystone链入Python的本地包2 o) {$ Z% Q1 D) z+ b
  + j5 J* Z' n. i$ I0 [* I9 K( ^$ O

! M" w, G. V* n7 G) {, L  验证安装完成3 v6 T( s* M) o6 }

! k1 M2 ^) g, B  至此源码安装完成, 在虚拟环境下:
6 y7 \: }3 B: z) {( g- f$ d& x& e0 Y3 |& w( p/ K
$ source .venv/bin/activate
  C" a' K0 [$ w5 q$ python
5 c! U( y6 t- s% ?2 X
- K8 m" e7 f7 ^4 K1 J7 `. ^* S1 x5 ^% Z: k% k) }, |
  或在非虚拟环境下:) W6 }$ O8 x/ k, Q

$ \, T- R- M2 u+ Q# Q$ python
& `- @( k# g9 x: n) G/ M; F 8 w- D+ f7 a- ~$ D! ^% N
' }7 Q4 _4 O. Y0 |  C* m
在Python的交互界面中import keystone, 看看是否成功, 如果没有异常, 说明keystone已经被正确安装了.% n# X: [& w* x% L* ~) e
>>> import keystone
8 S0 G# t/ E8 _' ]* ]+ E+ Y>>> $ _, X6 G; E) q$ A: W. {* Z
  这些工作也可以写成脚本执行, 虽然针对的只是Keystone, 但安装的逻辑和流程同样适用于OpenStack的其他项目.
0 \/ X7 \. W; |; F
+ Q* v( i. T& @5 ]: O! F8 l  安装完成的Keystone并不能运行, 接下来需要对其进行配置和初始化
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

如有购买积分卡请联系497906712

QQ|返回首页|Archiver|手机版|小黑屋|易陆发现 点击这里给我发消息

GMT+8, 2020-6-1 06:18 , Processed in 0.060134 second(s), 23 queries .

Powered by 龙睿 bbs168x X3.2

© 2001-2020 Comsenz Inc.

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