1、实验目的:python
1、掌握OpenStack环境搭建的基础工做mysql
2、掌握keystone的安装与配置方法sql
3、掌握keystone基础接口的调用方法数据库
2、实验步骤:bootstrap
1、利用最初建立的快照克隆两台CentOS服务器,克隆的两台分别修改主机名为xxx-controller和xxx-compute1,修改IP地址为192.168.xx.10和192.168.xx.20。vim
Controller:centos
Compute1:服务器
二、在两台主机中修改配置文件/etc/hosts,分别添加xxx-controller和xxx- compute1和IP地址之间的映射网络
三、在controller节点上ping两个主机名,查看可否ping通。dom
能够ping通
四、在两个节点上分别安装时间服务,在controller设置为服务器,compute1节点为时间客户端。
控制节点controller
安装服务
编辑/etc/chrony.conf文件
重启服务并设置开机自启动
Compute1节点
安装chrony
编辑chrony.conf文件( compute1节点引用controller节点进行时钟同步 )
在controller节点运行chronyc sources命令
在compute1节点运行chronyc sources命令
五、在controller和compute1上安装OpenStack最新的源
安装Rocky版本,运行yum -y install centos-release-openstack-rocky
完成安装后在全部节点升级软件包
#yum upgrade
安装OpenStack客户端:
yum -y install python-openstackclient
六、在controller安装数据库mariadb,安装后并修改配置文件,而后启动数据库服务器,并设置开机启动。
安装和配置的部件
#yum install mariadb mariadb-server python2-PyMySQL
建立并编辑/etc/my.cnf.d/openstack.cnf文件( 尽可能备份/etc/my.cnf.d/文件夹下现有配置文件 )并完成如下操做:
启动数据库服务,并将其配置为在系统引导时启动:
经过运行mysql_secure_installation 脚原本保护数据库服务。特别是,为数据库root账户选择合适的密码 :
七、在controller上安装消息队列服务rabbitmq,而后启动服务,并设置开机启动,而后为OpenStack建立用户,用户名为本身姓名拼音。
安装软件包:
启动消息队列服务,并将其配置为在系统引导时启动:
添加openstack用户:
八、在controller节点上安装Memcached服务,而后启动服务并设置开机启动。
安装软件包
编辑/etc/sysconfig/memcached文件并完成如下操做:
配置服务以使用控制器节点的管理IP地址。这是为了容许其余节点经过管理网络进行访问:
#vim /etc/sysconfig/memcached
启动Memcached服务,并将其配置为在系统启动时启动:
九、在controller上安装keystone服务。
安装组件
十、修改keystone配置文件。
在[database]部分中,配置数据库访问:
在[token]部分中,配置Fernet token提供者
十一、进入数据库,为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
1五、验证用户信息
1六、建立OpenStack客户端环境脚本
建立脚本文件admin-openrc
请求一个身份验证token:
下次直接运行脚本文件就能够导入环境变量了