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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

本节书摘来自异步社区《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)。

相关文章
|
6月前
|
存储 网络协议 Linux
如何安装OpenStack?
【8月更文挑战第21天】
777 1
|
4月前
|
安全 Java 测试技术
ToB项目身份认证AD集成(二):快速搞定window server 2003部署AD域服务并支持ssl
本文详细介绍了如何搭建本地AD域控测试环境,包括安装AD域服务、测试LDAP接口及配置LDAPS的过程。通过运行自签名证书生成脚本和手动部署证书,实现安全的SSL连接,适用于ToB项目的身份认证集成。文中还提供了相关系列文章链接,便于读者深入了解AD和LDAP的基础知识。
127 0
|
6月前
|
存储 Linux 云计算
OpenStack云计算平台搭建
OpenStack 是一个开源的云平台管理项目,通过多个核心组件实现公有云、私有云和混合云的构建与管理。自2010年由NASA和Rackspace联合发起以来,已有众多企业和个人参与开发。OpenStack 简化了云部署流程,支持计算、存储和网络资源的高效管理,并兼容多种虚拟化技术和容器。最新版本为Xena,广泛应用于各行各业,如思科、英特尔等公司。
581 0
|
8月前
|
存储 Linux 网络安全
杨校老师课堂之云计算私有云OpenStack框架快速搭建
杨校老师课堂之云计算私有云OpenStack框架快速搭建
190 0
|
9月前
|
安全 Devops 虚拟化
【专栏】虚拟化技术与云计算平台 OpenStack:硬件虚拟化、操作系统级虚拟化和容器化
【4月更文挑战第28天】本文探讨虚拟化技术原理,如硬件虚拟化、操作系统级虚拟化和容器化,以及开源云计算平台OpenStack如何利用这些技术提供优势。OpenStack支持多种虚拟化技术,具备开源灵活性、多租户架构、可扩展性、插件式设计和成本效益。未来,OpenStack将在容器化、DevOps、跨云策略和安全合规性方面发挥更大作用,助力企业数字化转型。
694 4
|
9月前
|
存储 边缘计算 监控
探索未来科技趋势:虚拟化技术与云计算平台OpenStack的概念与实践
在迅猛发展的信息技术时代,企业和组织对于高效、可扩展的计算资源需求日益增长。虚拟化技术和云计算平台OpenStack应运而生,为企业提供了一种灵活、可靠的解决方案。本文将深入探讨虚拟化技术与OpenStack的概念和实践,展示它们在现代科技领域中的重要性和应用前景。
257 3
|
9月前
|
存储 监控 搜索推荐
构建无边界的数字未来:虚拟化技术与云计算平台OpenStack的概念与实践
在当今数字化时代,虚拟化技术和云计算平台已经成为企业和组织实现数字化转型的关键驱动力。本文将介绍虚拟化技术的概念和作用,并重点探讨了开源云计算平台OpenStack在实践中的应用和优势。通过深入了解虚拟化技术和OpenStack平台,读者将能够更好地理解如何利用这些技术构建无边界的数字化未来。
|
9月前
|
存储 人工智能 调度
虚拟化技术与云计算平台 OpenStack:解锁数字化时代的无限潜能
在数字化时代,虚拟化技术和云计算平台已经成为企业和组织加速创新、提高效率的关键工具。本文将介绍虚拟化技术和OpenStack云计算平台的基本概念,探讨其在实践中的应用,以及它们如何协同作用,为企业带来无限的潜能与机会。
|
9月前
|
存储 云计算 虚拟化
云计算|OpenStack|使用VMware安装华为云的R006版CNA和VRM---初步使用(二)
云计算|OpenStack|使用VMware安装华为云的R006版CNA和VRM---初步使用(二)
370 0
|
9月前
|
关系型数据库 MySQL 数据库
云计算|OpenStack|社区版OpenStack安装部署文档(三 --- 身份认证服务keystone安装部署---Rocky版)
云计算|OpenStack|社区版OpenStack安装部署文档(三 --- 身份认证服务keystone安装部署---Rocky版)
227 0