一、keystone认证任务

1.实验目的

①安装控制器必备组件
②部署共享任务
③在控制器端配置镜像存储、网络、计算和Dashboard服务

2.keystone的认证流程

openstack server reboot流程 openstack重启keystone_openstack

3.安装MySQL服务

3.1 安装mysql服务
#yum clean all //清空yum缓存
 #yun makecache //制作新的缓存
 [root@contrller0 ~]#yum install -y mysql mysql-server MySQL-python

图:

openstack server reboot流程 openstack重启keystone_MySQL_02


vi /etc/my.cnf //修改配置文件

openstack server reboot流程 openstack重启keystone_MySQL_03


#server mysql start //启动mysql服务器
 #chkconfig --add mysqld
 #chkconfig mysql on //设置MySQL服务器开机自启

图:

openstack server reboot流程 openstack重启keystone_vmware_04


#usr/bin/mysqladmin -u root password ‘openstack’
 //修改mysql数据库root密码为openstack
 #mysql_install_db //MySQL数据库的初始化

图:

openstack server reboot流程 openstack重启keystone_MySQL_05

3.2 安装rabbitmq消息队列

(1)导入KEY

#mkdir -p /data/rabbitmq //创建rabbit目录
 #cd /data/rabbitmq
 #vi rabbitmq-signing-key-public.asc.txt //制作信任公钥

在文本作如下修改:

图:

openstack server reboot流程 openstack重启keystone_MySQL_06


openstack server reboot流程 openstack重启keystone_mysql_07


rpm --import rabbitmq-signing-key-public.asc.txt //导入公钥

openstack server reboot流程 openstack重启keystone_mysql_08


(2)安装rabbitmq

上传四个RPM包,如下图所示:

openstack server reboot流程 openstack重启keystone_MySQL_09


openstack server reboot流程 openstack重启keystone_环境变量_10


openstack server reboot流程 openstack重启keystone_MySQL_11


openstack server reboot流程 openstack重启keystone_MySQL_12


进入管理界面查看rabbitMQ的信息,如下图所示:

openstack server reboot流程 openstack重启keystone_MySQL_13


openstack server reboot流程 openstack重启keystone_openstack_14


(3)为nova,neutron,client,heat创建用户并授予权限,如图所示:

openstack server reboot流程 openstack重启keystone_环境变量_15


对相应用户执行授权操作,如下图所示:

openstack server reboot流程 openstack重启keystone_vmware_16

二、keystone安装

1.实验目的

①安装控制器必备组件
②部署共享服务
③在控制器端配置镜像存储、网络、计算和Dashboard服务

2.keystone安装

2.1 创建库和授权

#mysql -uroot -popenstack #连接数据库,用户名root和密码openstack

图:

openstack server reboot流程 openstack重启keystone_mysql_17


授权本地和远程用户,查看用户,查看登录验证,如下图所示:

openstack server reboot流程 openstack重启keystone_openstack_18


登录验证

openstack server reboot流程 openstack重启keystone_环境变量_19

2.2 keystone安装与配置

(1)安装软件包

openstack server reboot流程 openstack重启keystone_vmware_20


openstack server reboot流程 openstack重启keystone_MySQL_21


(2)生成token

openstack server reboot流程 openstack重启keystone_mysql_22


(3)配置token

openstack server reboot流程 openstack重启keystone_vmware_23


(4)配置数据库连接

修改后

openstack server reboot流程 openstack重启keystone_openstack_24


查看修改:

openstack server reboot流程 openstack重启keystone_openstack_25


openstack server reboot流程 openstack重启keystone_环境变量_26


(5)配置UUID token和SQL驱动

openstack server reboot流程 openstack重启keystone_vmware_27

openstack server reboot流程 openstack重启keystone_环境变量_28


配置SQL撤回驱动:

openstack server reboot流程 openstack重启keystone_openstack_29


(6)为方便排错,显示详细的日志信息

openstack server reboot流程 openstack重启keystone_vmware_30

2.3 生成KPI认证所需要的证书文件

openstack server reboot流程 openstack重启keystone_MySQL_31


openstack server reboot流程 openstack重启keystone_openstack_32

2.4 同步keystone数据库,生成keystone所需要的表

openstack server reboot流程 openstack重启keystone_环境变量_33

2.5 创建一个cron任务,配置定期清理过期的token(默认存在DB,防止影响性能)

openstack server reboot流程 openstack重启keystone_环境变量_34

3.keystone创建user、role、tenant和endpoint

3.1 配置token环境

openstack server reboot流程 openstack重启keystone_环境变量_35


openstack server reboot流程 openstack重启keystone_openstack_36


在配置文件中插入:

3.2 创建用户、租户和权限

(1)创建tenant

openstack server reboot流程 openstack重启keystone_openstack_37


(2)创建admin用户

openstack server reboot流程 openstack重启keystone_mysql_38


(3)创建admin角色

openstack server reboot流程 openstack重启keystone_vmware_39


(4)将用户admin赋予admin角色额admin project内

openstack server reboot流程 openstack重启keystone_vmware_40


(5)创建_member_角色,并将admin用户加入该角色(dashboard默认赋予_member_角色)

openstack server reboot流程 openstack重启keystone_openstack_41


openstack server reboot流程 openstack重启keystone_vmware_42


openstack server reboot流程 openstack重启keystone_mysql_43

3.3 创建demo账号相关的角色

(1)创建demo用户

openstack server reboot流程 openstack重启keystone_环境变量_44


(2)创建demo租户

openstack server reboot流程 openstack重启keystone_MySQL_45


(3)demo用户和租户、_member_角色关联

openstack server reboot流程 openstack重启keystone_环境变量_46

3.4 创建service租户,其他project之间的交互,需要加入到service这个租户里面,后续需要使用

openstack server reboot流程 openstack重启keystone_vmware_47

3.5 创建keystone自身的服务和端点endpoint

(1)创建keystone的service类型,其他服务通过该catalog即可访问到keystone服务

openstack server reboot流程 openstack重启keystone_环境变量_48


(2)将keystone服务端口注册到service中,从而通过service访问keystone

openstack server reboot流程 openstack重启keystone_MySQL_49

3.6 校验用户环境变量配置文件

(1)取消keystone的环境变量

#unset OS_SERVEICE_TOKEN

#unset OS_SERVICE_ENDPOINT #取消钢材设置的两个环境变量

(2)校验admin用户获取token是否正常

openstack server reboot流程 openstack重启keystone_openstack_50


(3)校验admin是否有管理权限,如用户,租户,角色,服务,端点等

#keystone --os-username admin --os-tenant-name admin --os-password ADMIN_PASS --os-auth-url http://controller0:35357/v2.0 user-list #以管理租户,管理用户身份获得用户列表

#keystone --os-username admin --os-tenant-name admin --os-password ADMIN_PASS --os-auth-url http://controller0:35357/v2.0 service-list #以管理租户,管理用户身份获得用户列表,有输出内容表示执行成功

(4)校验demo账号获取token情况

openstack server reboot流程 openstack重启keystone_openstack_51


(5)校验demo账号是否有权限

openstack server reboot流程 openstack重启keystone_MySQL_52

3.7 设置用户环境变量文件

(1)配置admin用户的环境变量

openstack server reboot流程 openstack重启keystone_环境变量_53


openstack server reboot流程 openstack重启keystone_vmware_54


(2)配置demo账号的环境变量

openstack server reboot流程 openstack重启keystone_环境变量_55


openstack server reboot流程 openstack重启keystone_环境变量_56