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

简介:

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

1.4 安装OpenStack身份认证服务

OpenStack云计算实战手册(第2版)
我们将会使用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)。

相关文章
|
IDE Linux KVM
云计算|OpenStack|社区版OpenStack---基本概念科普(kvm的驱动类别和安装)
云计算|OpenStack|社区版OpenStack---基本概念科普(kvm的驱动类别和安装)
1011 0
|
安全 API 网络安全
OpenStack的 网络服务(Neutron)
【8月更文挑战第23天】
1271 10
|
存储 网络协议 Linux
如何安装OpenStack?
【8月更文挑战第21天】
2388 1
|
存储 消息中间件 算法
深入解析OpenStack Cinder:块存储服务详解
本文介绍了OpenStack及其块存储服务Cinder。OpenStack是一个开源云计算管理平台,提供基础设施即服务(IaaS),核心服务包括计算、网络、存储等。Cinder主要用于为虚拟机提供持久性块存储,具备多种功能,如卷操作、备份、快照及与实例的交互等。此外,还详细介绍了Cinder的工作流程、命令行操作及不同存储插件的使用。
2434 8
|
安全 Java 测试技术
ToB项目身份认证AD集成(二):快速搞定window server 2003部署AD域服务并支持ssl
本文详细介绍了如何搭建本地AD域控测试环境,包括安装AD域服务、测试LDAP接口及配置LDAPS的过程。通过运行自签名证书生成脚本和手动部署证书,实现安全的SSL连接,适用于ToB项目的身份认证集成。文中还提供了相关系列文章链接,便于读者深入了解AD和LDAP的基础知识。
1604 0
|
存储 云计算 虚拟化
云计算|OpenStack|使用VMware安装华为云的R006版CNA和VRM---初步使用(二)
云计算|OpenStack|使用VMware安装华为云的R006版CNA和VRM---初步使用(二)
961 0
|
存储 虚拟化 数据安全/隐私保护
云计算|OpenStack|使用VMware安装华为云的R006版CNA和VRM---初始安装(一)
云计算|OpenStack|使用VMware安装华为云的R006版CNA和VRM---初始安装(一)
2457 0
|
人工智能 运维 安全
中企出海大会|打造全球化云计算一张网,云网络助力中企出海和AI创新
阿里云网络作为全球化战略的重要组成部分,致力于打造具备AI技术服务能力和全球竞争力的云计算网络。通过高质量互联网服务、全球化网络覆盖等措施,支持企业高效出海。过去一年,阿里云持续加大基础设施投入,优化海外EIP、GA产品,强化金融科技与AI场景支持。例如,携程、美的等企业借助阿里云实现业务全球化;同时,阿里云网络在弹性、安全及性能方面不断升级,推动中企迎接AI浪潮并服务全球用户。
2223 8
|
监控 安全 网络安全
云计算与网络安全:技术挑战与解决方案
随着云计算技术的飞速发展,其在各行各业的应用越来越广泛。然而,随之而来的网络安全问题也日益凸显。本文将从云服务、网络安全和信息安全等技术领域出发,探讨云计算面临的安全挑战及相应的解决方案。通过实例分析和代码示例,旨在帮助读者更好地理解云计算与网络安全的关系,提高网络安全防护意识。
478 56
|
存储 安全 网络安全
云计算与网络安全的深度探讨###
本文旨在全面解析云计算环境下的网络安全挑战,涵盖云服务模型、数据安全、身份与访问管理等关键技术领域。通过剖析云计算对网络安全格局的影响,探讨如何构建和维护坚实的安全防护体系,确保云环境中的数据安全、隐私保护及业务连续性。 ###

热门文章

最新文章