Keystone安装与配置
一、实验目的:
1、掌握OpenStack环境搭建的基础工作
2、掌握keystone的安装与配置方法
3、掌握keystone基础接口的调用方法
二、实验步骤:
1、利用最初创建的快照克隆两台CentOS服务器,克隆的两台分别修改主机名为xxx-controller和xxx-compute1,修改IP地址为192.168.xx.10和192.168.xx.20。
Controller:

Compute1:

2、在两台主机中修改配置文件/etc/hosts,分别添加xxx-controller和xxx- compute1和IP地址之间的映射

3、在controller节点上ping两个主机名,查看能否ping通。
可以ping通


4、在两个节点上分别安装时间服务,在controller设置为服务器,compute1节点为时间客户端。
控制节点controller
安装服务

编辑/etc/chrony.conf文件

重启服务并设置开机自启动

Compute1节点
安装chrony

编辑chrony.conf文件( compute1节点引用controller节点进行时钟同步 )

在controller节点运行chronyc sources命令

在compute1节点运行chronyc sources命令

5、在controller和compute1上安装OpenStack最新的源
安装Rocky版本,运行yum -y install centos-release-openstack-rocky


完成安装后在所有节点升级软件包
#yum upgrade
安装OpenStack客户端:
yum -y install python-openstackclient

6、在controller安装数据库mariadb,安装后并修改配置文件,然后启动数据库服务器,并设置开机启动。
安装和配置的部件
#yum install mariadb mariadb-server python2-PyMySQL

创建并编辑/etc/my.cnf.d/openstack.cnf文件( 尽量备份/etc/my.cnf.d/文件夹下现有配置文件 )并完成以下操作:

启动数据库服务,并将其配置为在系统引导时启动:

通过运行mysql_secure_installation 脚本来保护数据库服务。特别是,为数据库root帐户选择合适的密码 :

7、在controller上安装消息队列服务rabbitmq,然后启动服务,并设置开机启动,然后为OpenStack创建用户,用户名为自己姓名拼音。
安装软件包:

启动消息队列服务,并将其配置为在系统引导时启动:

添加openstack用户:

8、在controller节点上安装Memcached服务,然后启动服务并设置开机启动。
安装软件包

编辑/etc/sysconfig/memcached文件并完成以下操作:
配置服务以使用控制器节点的管理IP地址。这是为了允许其他节点通过管理网络进行访问:
#vim /etc/sysconfig/memcached

启动Memcached服务,并将其配置为在系统启动时启动:

9、在controller上安装keystone服务。
安装组件

10、修改keystone配置文件。
在[database]部分中,配置数据库访问:

在[token]部分中,配置Fernet token提供者

11、进入数据库,为keystone创建数据库,并创建访问用户以及对用户授权。
使用数据库访问客户端以root用户身份连接到数据库服务器

创建keystone数据库:

授予对keystone数据库的适当访问权限:
MariaDB [(none)]>GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '此处填自己的密码';
MariaDB [(none)]>GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '此处填自己的密码';

12、初始化keystone数据库,参考命令
su -s /bin/sh -c "keystone-manage db_sync" keystone

13、初始化keys,参考命令
keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
--bootstrap-admin-url http://controller:35357/v3/ \
--bootstrap-internal-url http://controller:5000/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne

14、创建域、项目、用户和角色,参考命令
创建Service Project:
#penstack project create --domain default \
--description "Service Project" service
创建Demo Project:
#openstack project create --domain default \
--description "Demo Project" demo
创建 demo 用户:
#openstack user create --domain default \
--password-prompt demo
创建user角色:
#openstack role create user
将用户租户角色连接起来:
#openstack role add --project demo --user demo user
创建域:

创建demo project:

创建demo user:

创建role:

将myrole角色添加到mydemo项目和myuser用户:
openstack role add --project mydemo --user myuser myrole

15、验证用户信息

16、创建OpenStack客户端环境脚本
创建脚本文件admin-openrc

请求一个身份验证token:

下次直接运行脚本文件就可以导入环境变量了

浙公网安备 33010602011771号