本节书摘来自异步社区《OpenStack云计算实战手册(第2版)》一书中的第1章,第1.4节,作者: 【英】Kevin Jackson , 【美】Cody Bunch 更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.4 安装OpenStack身份认证服务

我们将会使用Ubuntu Cloud Archive安装和配置OpenStack身份认证服务,也就是Keystone项目。配置完成之后,连接到OpenStack云环境都需经过这里所安装的OpenStack身份认证服务。

OpenStack身份认证服务的默认后台数据库是MySQL数据库。

准备工作
为保证运行的是Ubuntu Cloud Archive,必须配置Ubunut 12.04安装使用该服务。

我们将配置Keystone使用MySQL作为数据库后端,因此,安装Keystone之前需要安装MySQL。如果MySQL尚未安装,请执行以下步骤安装配置MySQL:

MYSQL_ROOT_PASS=openstack
MYSQL_HOST=172.16.0.200
# To enable non-interactive installations of MySQL, set the following
echo "mysql-server-5.5 mysql-server/root_password password \  $MYSQL_ROOT_PASS" | sudo debconf-set-selections
echo "mysql-server-5.5 mysql-server/root_password_again password \  $MYSQL_ROOT_PASS" | sudo debconf-set-selections
echo "mysql-server-5.5 mysql-server/root_password seen true" \  | sudo debconf-set-selections
echo "mysql-server-5.5 mysql-server/root_password_again seen true" \  | sudo debconf-set-selections  export DEBIAN_FRONTEND=noninteractive
sudo apt-get update
sudo apt-get -q -y install mysql-server
sudo sed -i "s/^bind\-address.*/bind-address = ${MYSQL_HOST}/g" \  /etc/mysql/my.cnf
sudo service mysql restart  mysqladmin -uroot password ${MYSQL_ROOT_PASS}  mysql -u root --password=${MYSQL_ROOT_PASS} -h localhost \  -e "GRANT ALL ON *.* to root@\"localhost\" IDENTIFIED BY \"${MYSQL_
ROOT_PASS}\" WITH GRANT OPTION;"  mysql -u root --password=${MYSQL_ROOT_PASS} -h localhost \  -e "GRANT ALL ON *.* to root@\"${MYSQL_HOST}\" IDENTIFIED BY
\"${MYSQL_ROOT_PASS}\" WITH GRANT OPTION;"  mysql -u root --password=${MYSQL_ROOT_PASS} -h localhost \  -e "GRANT ALL ON *.* to root@\"%\" IDENTIFIED BY \"${MYSQL_ROOT_
PASS}\" WITH GRANT OPTION;"  mysqladmin -uroot -p${MYSQL_ROOT_PASS} flush-privileges

接下来,请确保已经登录到OpenStack 身份认证服务器或者需要安装Keystone的OpenStack控制节点上,并且确保该服务器可以被其他的OpenStack主机访问到。

执行以下命令,登录到使用Vagrant创建的OpenStack 控制节点:

vagrant ssh controller

操作步骤
要安装OpenStack身份认证服务,需要执行如下指令。

1.安装OpenStack身份认证服务可通过指定安装Ubuntu资源库里的keystone软件包来完成。只需执行如下命令:

sudo apt-get update  
sudo apt-get -y install keystone python-keyring

2.安装好之后,需要配置后台数据库存储。首先需要在MySQL里创建一个keystone数据库,按照如下步骤来执行(在本例中,假定MySQL的用户名是root,对应的密码是openstack,该用户有创建数据库的权限):

MYSQL_ROOT_PASS=openstack  
mysql -uroot -p$MYSQL_ROOT_PASS -e "CREATE DATABASE \ keystone;"

3.一个最佳实践是在数据库中为OpenStack身份认证服务单独创建一个特定的用户。创建命令如下:

MYSQL_KEYSTONE_PASS=openstack
mysql -uroot -p$MYSQL_ROOT_PASS -e "GRANT ALL PRIVILEGES \ ON keystone.* TO 'keystone'@'%'"  
mysql -uroot -p$MYSQL_ROOT_PASS -e "SET PASSWORD FOR \ 'keystone'@'%' = PASSWORD('$MYSQL_KEYSTONE_PASS');"

4.接下来,配置OpenStack身份认证服务来使用该数据库。编辑配置文件/etc/keystone/keystone.conf,修改sql_connection行来匹配数据库证书。命令如下所示:

MYSQL_HOST=172.16.0.200
sudo sed -i "s#^connection.*#connection = \ mysql://keystone:openstack@172.16.0.200/keystone#"  \ /etc/keystone/keystone.conf

5.超级用户admin的token在/etc/keystone/keystone.conf 文件中,需要配置该token。

sudo sed -i "s/^# admin_token.*/admin_token = ADMIN" \  /etc/keystone/keystone.conf

6.Grizzly版本发布后,Keystone支持PKI架构的token签名加密。如果不使用该功能,可编辑/etc/keystone/ keystone.conf文件,使用非签名的token。

sudo sed -i "s/^#token_format.*/token_format = UUID" \  /etc/keystone/keystone.conf

7.现在重启keystone服务。

sudo stop keystone
sudo start keystone

8.Keystone启动之后,用如下命令为keystone数据库填充必需的数据表:

sudo keystone-manage db_sync

提示

恭喜!现在已经为OpenStack环境安装好了OpenStack身份认证服务。
工作原理
通过使用Ubuntu的包,可以便捷地为OpenStack环境安装好OpenStack身份认证服务。安装完成之后,在MySQL数据库服务器中配置了keystone数据库,并且设置了keystone.conf文件来使用它。启动Keystone服务之后,运行keystone-manage db_sync命令来为keystone数据库填充合适的数据表,以方便向其中添加OpenStack环境中所必需的用户(user)、角色(role)和租户(tenant)。

《OpenStack云计算实战手册(第2版)》——1.4 安装OpenStack身份认证服务相关推荐

  1. openstack mysql配置_《OpenStack云计算实战手册(第2版)》一2.3 用MySQL配置OpenStack镜像服务-阿里云开发者社区...

    本节书摘来异步社区<OpenStack云计算实战手册(第2版)>一书中的第2章,第2.3节,作者: [英]Kevin Jackson , [美]Cody Bunch 译者: 黄凯 , 杜玉 ...

  2. 《OpenStack云计算实战手册(第2版)》——1.7 添加用户

    本节书摘来自异步社区<OpenStack云计算实战手册(第2版)>一书中的第1章,第1.7节,作者: [英]Kevin Jackson , [美]Cody Bunch 更多章节内容可以访问 ...

  3. 《OpenStack云计算实战手册(第2版)》——导读

    前言 OpenStack是一个用于构建公有云和私有云的开源软件.它是一个全球性的成功,由全球数千名人员开发和支持,并得到当今云计算领域巨头的鼎力支持. 本书设计的初衷在于帮助读者快速上手OpenSta ...

  4. css实战手册第四版 pdf_你真的了解CSS继承吗?看完必跪

    也许你瞧不起以前的 css ,但是你不该再轻视眼下的 css .近年来 css 的变量系统已逐步得到各大浏览器厂商支持,自定义选择器等强势袭来,嵌套系统/模块系统也在路上...为了更好的掌握 css ...

  5. Gitlab CE 8.1.3 安装手册汉化版

    GGitlab CE 8.1.3 安装手册汉化版 Gitlab的安装过程主要包括以下组件的配置: 安装软件包及解决依赖项 Ruby环境 Go 系统用户 数据库(Mysql/Postgresql) Re ...

  6. Openstack 高可用部署(Ocata版)

    一:高可用拓扑 外部网络:192.168.1.0/24 内部网络:172.16.1.0/24 二:实验环境准备 2.1:创建虚拟机并安装操作系统 使用CentOS 7.2 安装时传递内核参数 net. ...

  7. openstack云计算平台(一)

    openstack 1.openstack简介 2. 环境 2.1 安全 2.2 主机网络 2.2.1 配置网络接口 2.2.2 配置域名解析 2.3 网络时间协议(NTP) 2.4 OpenStac ...

  8. [官版翻译ing]OpenStack云计算快速入门之一:OpenStack及其构成简介

    转自:http://blog.chinaunix.net/uid-22414998-id-3263551.html <OpenStack Starter Guide for Ubuntu 12. ...

  9. JavaScript和jQuery实战手册(原书第2版)

    <JavaScript和jQuery实战手册(原书第2版)> 基本信息 原书名:avaScript & jQuery: The Missing Manual,Second Edit ...

最新文章

  1. IEEE CSO 2009 修订版论文要求
  2. python爬虫自学路线_python 爬虫学习路线:从入门到进阶
  3. 倩女手游服务器维护,倩女手游7月28日服务器在线维护公告
  4. CodeForces - 1354D Multiset(线段树/二分)
  5. 0003-Longest Substring Without Repeating Characters(无重复字符的最长子串)
  6. dotnet core 开发体验之Routing
  7. Flutter 实现微信摇一摇的功能 Flutter 加速度感应
  8. jq 给按钮添加方法_手机进行视频编辑的方法,原来如此简单,免费、高效、省心...
  9. Java Persistence with MyBatis 3(中国版)
  10. 合理使用Blob/Clob
  11. CS224N刷题——Assignment2.3_RNN:Language Modeling
  12. 军用装备产品GJB150A淋雨试验检测机构
  13. 【SQL】SQL的基础语法
  14. Vue组件开发——异步组件
  15. java 调用 fastreport,Winform中使用FastReport实现简单的自定义PDF导出
  16. 怎么把图片转换成ico格式
  17. 使用第三方应用友盟实现网站访问量统计功能
  18. EDA程序设计--计时器设计
  19. 太原市高二会考计算机试题及答案,太原市第二十一中学校2019-2020学年高二会考模拟生物试卷...
  20. 科海思电镀废水除重金属树脂案例CH-90

热门文章

  1. 入门机器学习(十)--课后作业解析-神经网络(Python实现)
  2. 机器学习之数据归一化
  3. 7-188 编程团体赛 (20 分)
  4. java锁原理_Java锁原理学习
  5. 输入一个字符串,删除汉字字符或者西文字符(C语言)
  6. CSUOJ修墙壁C语言,棋牌挂怎么编写 -棋牌挂怎么编写V6.1.16
  7. 客户端如何连接oracle数据库,ORACLE的客户端如何连接到数据库(三)
  8. mysql单表操作_mysql单表操作
  9. c#参数修饰符-params
  10. 拖动同级别元素显示辅助线,辅助对齐,吸附.