一、实验目的:

  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:

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

最新文章

  1. CF460C Present (二分 + 差分数列)
  2. I/O复用模型之select学习
  3. 对于大于8046 bytes的行,RCSI/SI事务隔离级别无效
  4. .net 4.0 自定义本地缓存策略的不同实现
  5. Xfce 快捷键
  6. 关于c#字典key不存在的测试
  7. 【小丸类库系列】Word操作类
  8. MAC 10.10 apache 服务器配置
  9. 可扩展标记语言XML
  10. vim 和grep 正则表达式相似和区别
  11. Linux 将本地文件上传Linux服务器, 即ssh 命令上传本地文件
  12. python之属性描述符与属性查找规则
  13. java-null简介
  14. window 7喇叭有红叉,耳机扬声器已拔出驱动无法修复
  15. Linux安装svn客户端
  16. 《剑指offer》第五十一题(数组中的逆序对)
  17. [Android]Eclipse 安装 ADT[Android Development Tooling] 失败的两种解决办法
  18. 【PAT】1091 Acute Stroke(30 分)
  19. 【SVN】如果windows用户忘记了svn的用户名和密码怎么办?
  20. State Threads 回调终结者

热门文章

  1. Python学习心得体会总结,不要采坑
  2. 【玩转SpringBoot】用好条件相关注解,开启自动配置之门
  3. 遇见一只黑猫,她说Python是个怪物
  4. 基于 TrueLicense 的项目证书验证
  5. java之线程(线程的创建方式、java中的Thread类、线程的同步、线程的生命周期、线程之间的通信)
  6. 常见问题解决办法=》.net后台
  7. iOS核心动画高级技巧-4
  8. TP5 try{}catch{}异常捕获不到 解决办法
  9. IDEA开发、测试、生产环境pom配置及使用
  10. 面试连环炮系列(二):你们的项目Redis做了集群部署吗