OPENSTACK配置与管理项目式实训任务三Keystone的手工安装与配置OPENSTACK配置与管理二.任务涉及节点:controller三.任务目标:1.完成Keystone基本组件的安装;2.完成Keystone数据库的创建以及授权;3.完成Keystone主配置文件的修改;4.完成Keystone安全与认证配置;5.完成Keystone用户、租户、角色以及服务和端点的创建;6.完成Keystone环境变量脚本的创建。一.任务前提环境:成功完成任务3中所有内容后开始本实验,或者从已完成任务的镜像开始,继续完成本任务内容。OPENSTACK配置与管理四.任务步骤及其详解:(此处有视频:6-1Keystone的安装及其配置)步骤一:Keystone基本组件的安装在controller节点上执行yum源安装命令安装Keystone依赖包,命令如下。[root@controller~]#yum-yinstallopenstack-keystonepython-keystoneclient执行上述安装命令成功后,我们可以看到成功标志,所有Keystone依赖包都安装完成,如图1所示。图1Keystone依赖包安装完成反馈结果OPENSTACK配置与管理步骤二:创建Keystone数据库并授权首先,登陆MySQL数据库,命令如下。[root@controller~]#mysql-uroot-p000000登陆后,我们首先创建Keystone数据库,命令如下。mysql>CREATEDATABASEkeystone;看到提示QueryOK,1rowaffected(0.00sec),表明数据库创建成功。接着创建MySQL的Keystone用户,并赋予其Keystone数据库的操作权限,命令如下。mysql>GRANTALLPRIVILEGESONkeystone.*TO'keystone'@'localhost'IDENTIFIEDBY'000000';mysql>GRANTALLPRIVILEGESONkeystone.*TO'keystone'@'%'IDENTIFIEDBY'000000';mysql>exitOPENSTACK配置与管理上述SQL语句中,第一个Keystone为表名,第二个Keystone为MySQL的用户名,“*”代表该库中所有表,“%”代表所有主机,localhost代表本机。通用的语法为:GRANTALLPRIVILEGESON数据库名.表名TO'用户名'@'主机'IDENTIFIEDBY'密码';执行上述SQL语句后,我们可以尝试使用Keystone用户,密码为000000登陆MySQL数据库,登陆命令如下。[root@controller~]#mysql-ukeystone-p000000本书中随后的实训项目中,均以上述方式创建数据库并进行数据库的授权,故后续实训项目中不再赘述。OPENSTACK配置与管理步骤三:修改配置Keystone文件[root@controller~]#openstack-config--set/etc/keystone/keystone.confdatabaseconnectionmysql://keystone:000000@controller/keystone上述命令的功能是在/etc/keystone/keystone.conf文件的[database]段落中添加“connection=mysql(数据库类型)://keystone(登陆数据库的用户名):000000(用户密码)@controller(数据库主机名)/keystone(数据库)”配置。我们通过vi命令直接修改/etc/keystone/keystone.conf文件,也可以达到相同效果。接着,我们需要同步数据库,为认证服务创建数据库表,命令如下。[root@controller~]#su-s/bin/sh-c"keystone-managedb_sync"keystoneOPENSTACK配置与管理可以通过执行下面一条语句,查看是否同步并创建成功,命令如下,结果如图2所示。[root@controller~]#mysql-uroot-p000000-e"usekeystone;showtables;"图2查看Keystone数据库同步情况接下来,我们通过openssl服务生成一个十位长度的十六进制随机数作为token值,命令如下。[root@controller~]#ADMIN_TOKEN=$(opensslrand-hex10)然后将此token值写入Keystone配置文件[root@controller~]#openstack-config--set/etc/keystone/keystone.confDEFAULTadmin_token$ADMIN_TOKENOPENSTACK配置与管理上述命令的功能是在/etc/keystone/keystone.conf文件的[DEFAULT]段落中添加“admin_token=$ADMIN_TOKEN”配置。将“ADMIN_TOKEN”变量的值传递给admin_token令牌。我们还可以通过命令echo$ADMIN_TOKEN查看token值。验证结果如下,83781a39b99cdba8596f(此数随机生成,每次各不相同不同)。OPENSTACK配置与管理步骤四:Keystone安全与认证配置(此处有视频:6-2Keystone的安装及其配置)默认情况下,Keystone使用PKI令牌。创建签名密钥和证书,并且限制对生成的数据的访问,命令如下。[root@controller~]#keystone-managepki_setup--keystone-userkeystone--keyston...