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

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)。

时间: 2024-09-13 09:48:30

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

《OpenStack云计算实战手册(第2版)》一2.3 用MySQL配置OpenStack镜像服务

2.3 用MySQL配置OpenStack镜像服务 OpenStack云计算实战手册(第2版) 默认情况下,OpenStack镜像服务,即Glance,被配置使用本地SQL数据库存储.为了弹性扩展,必须配置一个中心的.可扩展且更具可靠的数据库层.因此,可使用MySQL数据库来达到这个目的. 准备工作 请在开始前确认已经登录到一个已经安装了OpenStack镜像服务的服务器上. 登录到使用Vagrant创建的OpenStack控制节点,执行以下命令: vagrant ssh controller

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

1.4 安装OpenStack身份认证服务 OpenStack云计算实战手册(第2版) 我们将会使用Ubuntu Cloud Archive安装和配置OpenStack身份认证服务,也就是Keystone项目.配置完成之后,连接到OpenStack云环境都需经过这里所安装的OpenStack身份认证服务. OpenStack身份认证服务的默认后台数据库是MySQL数据库. 准备工作 为保证运行的是Ubuntu Cloud Archive,必须配置Ubunut 12.04安装使用该服务. 我们将配

《OpenStack云计算实战手册(第2版)》一1.1 介绍

1.1 介绍 OpenStack云计算实战手册(第2版) OpenStack身份认证服务(Identity Service),即Keystone,是为OpenStack云环境中的用户的账户和角色信息提供认证和管理服务的.这是一个关键的服务,OpenStack云环境中所有服务之间的鉴权和认证都需要经过它,所以它也是OpenStack环境中第一个安装的服务.经OpenStack身份认证服务认证通过之后,它会返回一个在OpenStack各个服务之间传输用的鉴权密钥.接下来就可以用这个密钥来为某个具体服

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

前 言 OpenStack云计算实战手册(第2版) OpenStack是一个用于构建公有云和私有云的开源软件.它是一个全球性的成功,由全球数千名人员开发和支持,并得到当今云计算领域巨头的鼎力支持. 本书设计的初衷在于帮助读者快速上手OpenStack,在理解的基础上将OpenStack更有信心地应用到自己的数据中心. 从VirtualBox中的测试安装,到使用Razor和Chef自动化安装脚本在产品环境中扩容,本书涵盖了安装和配置一个私有云的各种内容. 如何安装和配置OpenStakc的所有核心

《OpenStack云计算实战手册(第2版)》一第1章 Keystone OpenStack身份认证服务

第1章 Keystone OpenStack身份认证服务 OpenStack云计算实战手册(第2版) 本章将讲述以下内容: 使用VirtualBox和Vagrant创建一个沙盒环境 配置Ubuntu Cloud archive 安装OpenStack身份认证服务 创建租户 配置角色 添加用户 定义服务端点 配置服务对应的租户和用户

《OpenStack云计算实战手册(第2版)》一1.5 创建租户

1.5 创建租户 OpenStack云计算实战手册(第2版) 一个租户(tenant)在OpenStack里就是一个项目.在创建一个用户时必须首先为该用户分配一个租户,否则将无法创建此用户,所以首先要创建租户.在这一节中,将为用户创建一个名为cookbook的租户. 准备工作 在开始之前,必须确认已经登录到已经安装了OpenStack身份认证服务的OpenStack控制节点上,或者有一个已经连接到安装了OpenStack身份认证服务的服务器上的Ubuntu客户端. 执行以下命令,登录到使用Vag

《OpenStack云计算实战手册(第2版)》一1.6 配置角色

1.6 配置角色 OpenStack云计算实战手册(第2版) 角色是分配给一个租户中的用户的权限.在这里配置两个角色,一个用于管理云环境的admin角色和另一个用于分配给使用云环境的普通用户的Member角色. 准备工作 在开始之前,必须确认已经登录到已经安装了OpenStack身份认证服务的OpenStack控制节点上,或者有一个已经连接到安装了OpenStack身份认证服务的服务器上的Ubuntu客户端. 登录到使用Vagrant创建的OpenStack控制节点,执行以下命令: vagran

《OpenStack云计算实战手册(第2版)》一1.3 配置Ubuntu Cloud Archive

1.3 配置Ubuntu Cloud Archive OpenStack云计算实战手册(第2版)Ubuntu 12.04 LTS(本书使用的版本)提供两个可安装OpenStack的资源库.标准资源库所配置的是Essex版,本书写作时已可以通过设置Ubuntu Cloud Archive支持Grizzly版.我们下面将使用Ubuntu Cloud Archive提供的Grizzly发布版本来安装和配置OpenStack身份认证服务(以及其他服务). 准备工作确保登录到安装OpenStack身份认证

《OpenStack云计算实战手册(第2版)》一2.8 查看共享镜像

2.8 查看共享镜像 OpenStack云计算实战手册(第2版)当使用member-create选项时,可以查看为某个租户共享了哪些镜像,允许在OpenStack环境中管理和控制哪些用户可以访问什么类型的镜像. 准备工作要做这个实验,应确认已经登录到一台Ubuntu客户机,且已经具有glance工具.如果没有该工具,可通过以下方法安装: sudo apt-get update sudo apt-get -y install glance-client 为了保证环境变量设置正确,admin用户和密

《OpenStack云计算实战手册(第2版)》一2.6 注册远程存储的镜像

2.6 注册远程存储的镜像 OpenStack云计算实战手册(第2版)OpenStack镜像服务提供了一种机制,它可以远程添加一个存储在外部位置的镜像文件,利用这种机制,可以很方便地实现在私有云中使用第三方服务器中上传的镜像文件. 准备工作要做这个实验,应确认已经登录到一台Ubuntu 客户机,且已经具有glance工具.如果没有该工具,可通过以下方法安装: sudo apt-get update sudo apt-get -y install glance-client 为了保证环境变量设置正