null Keystone安装与配置 - K码农

一、实验目的:

  1、掌握OpenStack环境搭建的基础工作

  2、掌握keystone的安装与配置方法

  3、掌握keystone基础接口的调用方法

 

二、实验步骤:

 

1、利用最初创建的快照克隆两台CentOS服务器,克隆的两台分别修改主机名为xxx-controllerxxx-compute1,修改IP地址为192.168.xx.10192.168.xx.20

 

Controller:

 

Compute1:

 

 

 

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

 

 

 

 

 

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、controllercompute1上安装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

 

 

 

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