当前位置: 首页 > 编程日记 > 正文

手动部署OpenStack环境(四:安装控制器必备软件)

任务四、安装控制器必备组件

4.1、安装MySQL服务(controller0)

4.2、安装Rabbitmq消息队列(controller0)

4.3、Keystone认证(controller0)

4.4、glance的安装与配置(controller0)

4.5、Nova的安装与配置(controller0)

4.6、neutron的安装与配置(controller0)

4.7、Horizon的安装与配置(controller0)

4.8、Nova的安装与配置(compute0)

4.9、neutron的安装与配置(compute0)

4.10、neutron的安装与配置(network0)

任务四、安装控制器必备软件;

4.1、安装MySQL服务;

本步操作在Controller0虚拟机节点主机上进行单独设置,所有操作步骤需要使用root用户进行;

4.1.1、清空yum安装MySQL相关软件;

4.1.2、修改配置文件并启动MySQL服务器;

4.1.3、设置MySQL服务器开机自启动,并修改MySQL数据库root密码为openstack;

4.1.4 、对MySQL数据库进行初始化;

4.2、安装rabbitmq消息队列

     4.2.1、创建rabbitmq目录并上传相关软件包文件;

4.2.2、制作信任公钥,并导入公钥;

  

4.2.3、安装rabbitmq;

4.2.4、开启远程访问并启动rabbitmq服务;

   4.2.5、查询rabbitmqweb管理插件是否开启,并安装rabbitmqweb    管理插件,查看用户列表,设置开机启动。

     4.2.6、使用浏览器进入http://10.20.0.10:15672/管理界面来查看 rabbitmq的信息;

     4.2.7、为Nova,neutron,cinder,heat创建用户并授予权限;

     4.2.8、对响应用户执行授权操作;

4.3、Keystone认证;

4.3.1、创建库和授权,连接数据库,并显示所有数据库;

4.3.2、创建数据库“keystone”。

4.3.3、授权本地用户及远程用户,并查看所有用户。

4.3.4、验证登录数据库。

4.3.5、keystone的安装配置之安装软件。

4.3.6、生成token,配置token,并查看参数修改结果;

4.3.7、配置数据库连接;

  a)修改主机名并重启controller0节点,使配置生效;

  b)配置UUID token和SQL驱动;

  c)配置SQL撤回驱动;

d)为便于排错,显示详细的日志信息;

4.3.8、生成PKI认证所需要的证书文件;

4.3.9、同步keystone数据库,生成keystone所需要的表;

4.3.10启动keystone服务和校验服务状态

4.3.11创建一个cron任务,配置定期清理过期的keystone;

4.3.12keystone创建user、tenant、role和endpoint,定义token环境变量;

注、重启虚拟主机,再次执行;

4.3.13、创建用户,租户并赋予权限;

a)创建tenant,并查看当前租户表;

b)创建admin用户,并查看当前用户表;

c)创建admin角色,并查看角色列表;

d) 将admin用户赋予admin角色和admin project内;

e) 创建_member_角色,并将admin用户加入该角色;

4.3.14、创建demo账号相关的角色;

  a)创建demo用户,并查看当前的用户列表;

  b)创建demo租户,并查看租户信息表;

  c)demo用户和租户_member_角色关联;

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

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

Openstack中任何服务(包括keystone自己)都需要以service的形式将其访问的url注册到keystone中,这样便于组之间通讯。

如下是服务service和端点endpoint的配置过程。

a)创建keystone的service类型,其他服务通过catalog即可访问到keyston服务。

b) 将keystone服务端口注册到service中,从而通过service访问ksytone,并查看表;

4.3.17、验证keystone的配置;

a)取消keystone的环境变量:

命令:

#unsert  OS_SERVICE_TOKEN

#unsert  OS_SERVICE_ENDPOINT

并校验admin用户获取token是否正常;

b)验证admin是否有管理权限,如用户、租户、角色、服务、端点;

c)验证demo账号获取token情况;

d)验证demo账号是否有权限;

4.3.18、设置用户环境变量文件

使用keystone客户端和keystone服务交互的时候 , 可以在keystone命令后面加上类似如--os-username的参数,如果毎次执行都需要加 上该参数的话, 会非常不便捷 , 为了避免毎次执行命令都需要加上参数,keystone支持设置环境变量,将所需要的信息,以环境变量的方式加载,后续直接输入子命令即可,不需要加额外参数。

a)配置admin用户的环境变量

b)、配置demo账号的环境变量

4.4、glance的安装与配置

注:*该项的所有操作步骤需要使用root用户进行。

          *该项的所有操作在controller0主机进行。

      4.4.1、创建数据库,并测试查看新建的数据库。

4.4.2、创建keystone认证的用户。

a)创建用户,首先先执行启动环境变量;

b)授权glance权限,通过连接admin角色与glance用户授权;

c)创建glance服务,创建image服务实体;

d)将glance服务路径注册到keystone,创建image服务的挨批端口;

4.4.3、安装glance服务。

4.4.4、配置glance-api服务。

注:*该项的所有操作步骤需要使用root用户进行。

          *该项的所有操作在controller0主机进行。

a)配置数据库连接,查看是否修改成功;

b)配置keystone,并查看配置信息;

c)配置image存储位置,使用本地的文件系统存储;

4.4.5、配置image存储位置,使用本地的文件系统存储。

注:*该项的所有操作步骤需要使用root用户进行。

          *该项的所有操作在controller0主机进行。

a)配置数据库连接;

b)配置keystone认证;

c)建立glance数据库中所需的表;

4.4.6、启动并校验glance服务。

注:*该项的所有操作步骤需要使用root用户进行。

          *该项的所有操作在controller0主机进行。

a)启动glance服务;

b)校验glance服务;

  4.5、Nova的安装与配置(controller0);

注:*该项的所有操作步骤需要使用root用户进行。

     4.5.1、创建数据库并进行授权;

4.5.2、创建keystone认证用户;

a)创建用户,执行启动admin哟用户环境变量;

b)赋予Nova用户admin权限;

4.5.3、创建Nova服务并注册到keystone中;

a)创建Nova服务实体;

b)创建Nova的api端点;

c) 将Nova service的端点注册到keystone中;

4.5.4、安装和配置Nova;

a)安装Nova,首先进行系统更新;

b)配置数据库连接;

c)配置rabbit;

d)配置keystone认证信息;

e)配置vnc信息;

检查主机是否安装了openstack-icehouse需要的python-websokify版本<=0.5.1,如果是0.6.0,对该软件进行降级

#yum downgrade python-websokify-0.5.1-1.el6.noarch

f)配置glance连接;

开启debug日志:

# openstack-config --set /etc/nova/nova.conf DEFAULT True

g)创建Nova所需的表,并更新数据库;

h)启动Nova相关的服务并设置开启启动;

i)校验controller上的Nova服务是否正常;

  4.6、neutron的安装与配置(controller0);

注:*该项的所有操作步骤需要使用root用户进行。

      4.6.1、创建数据库并授权;

     

      4.6.2、配置keystone用户;

a)配置keystone用户并授权;

b)配置service并注册endpoint;

4.6.3、安装neutron所需的软件包;

4.6.4、配置neutron,包括:数据库连接,keystone认证,rabbitmq,拓扑配置和插件的配置;

a)配置数据库连接;

b)配置keystone认证;

查看是否修改成功;

c)配置rabbitmq连接,并查看是否配置成功;

d)neutron使用二层插件;

e)配置neutron和Nova状态变更;

f)配置OVS二层插件;

查看配置结果;

g)配置Nova支持neutron(注意,修改的是Nova的配置文件)

查看配置结果

h)启动neutron-server服务;

查看数据库信息;

i)重启Nova服务,和neutron联动;

j)重启neutron-server;

k)controller0上校验neutron的配置;

启动环境变量,列出进程;

查看所有服务的状态;

 4.7、Horizon的安装配置(controller0);

注:*该项的所有操作步骤需要使用root用户进行。

          *该项的所有操作在controller0主机进行。

      4.7.1、首先安装Django14;

a)把Django14-1.4.13-1.el6.noarch.rpm上传到/home目录下;

b)执行命令安装;

4.7.2、安装Horizon组件;

a)清空yum缓存,制作新的缓存;

b)安装相关组件包;

4.7.3、设置OpenStack-dashboard,修改dashboard的配置文件;

4.7.4、启动http和memcached服务并设置开机启动;

4.7.5、验证,在浏览器输入:http://10.20.0.10/dashboard

用户名:admin

密  码:ADMIN_PASS

   4.8、Nova的安装与配置(compute0-10.20.0.30

*该项的所有操作需要使用root用户进行。

4.8.1、安装Nova软件包;

首先创建文件目录data,然后把这个10个包上传到/data目录下安装;

开始安装:

#yum -y install openstack-nova-compute sysfsutils openstack-utils

4.8.2、配置rabbit;

验证配置正确性;

4.8.3、配置keystone连接;

验证配置正确性

4.8.4、配置VNC代理;

4.8.5、配置glance image所在的主机;

4.8.6、校验compute节点是否支持硬件kvm;

4.8.7、启动Nova-compute服务;

4.8.8、校验下compute服务状况;

4.8.9、在controller0上确认Nova-compute服务是否正常;

4.8.10、在controller0上校验Nova和glance是否正常交互;

   4.9、neutron的安装与配置(compute0);

注:该项的所有操作步骤需要使用root用户进行;

4.9.1、配置核心网络参

4.9.2、安装neutron网络组建;

4.9.3、配置neutron keystone认证;

检验配置的准确性;

4.9.4、配置rabbitmq连接;

4.9.5、配置neutron使用ml2 for ovs and gre;

检验配置的准确性;

Networking 服务初始化脚本需要一个象征性的链接将/etc/neutron/plugin.ini指向ML2插件的配置文件/etc/neutron/plugins/ml2/ml2_conf.ini。如果这个象征性的链接不存在,创建链接。

4.9.6、配置Nova使用neutron提供网络服务;

检查配置是否正确;

4.9.7、启动服务openvswitch;

4.9.8、检查agent是否启动正常;

   4.10、neutron的安装与配置(network0)

注:*该项的所有操作步骤需要使用root用户进行;

   *该项的所有操作除了第十步,其他步骤需要在network0节点进行;

4.10.1、配置核心网络参数,允许ip forward,允许转发;

#vi /etc/sysctl.conf

#sysctl -p

4.10.2、安装neutron相关的包;

4.10.3、配置neutron keysone认证;

4.10.4、配置rabbitmq连接,并校验正确性;

4.10.5、配置neutron 使用ml+openvswitch+gre;

4.10.6、配置l3;

4.10.7、配置DHCP agent;

4.10.8、因为采用GRE网络,你需要把MTU设置为1400;

a)创建/etc/neutron/dnsmasq-neutron.conf并添加以下配置;

b)写入配置;

c)kill掉正在润的dnsmasq进程;

4.10.9、配置metadata agent,元数据代理提供配置信息,像实例凭证;

4.10.10、在控制节点controller0上配置元数据代理共享;

*本步骤第10操作步骤需要在controller0节点进行;

4.10.11、回到网络节点继续配置,启动服务openvswitch;

*该项操作步骤需要在network0节点上进行;

4.10.12、修改eth1和br-ext网络配置;

4.10.13、启动neutron服务;

4.10.14、验证;

a)在controller0节点上,查看neutron服务状态;

b)network0节点上,每次重启虚拟机,都需要重新添加一次IP地址;

c)各主机间互拼;

手动部署OpenStack环境(一:Virtual Box 5.1 环境的安装及配置)
https://blog.csdn.net/qq_37823605/article/details/90340904

手动部署OpenStack环境(二:CentOS6.6虚拟机的安装及配置)
https://blog.csdn.net/qq_37823605/article/details/90341000

手动部署OpenStack环境(三:OpenStack环境预配置)
https://blog.csdn.net/qq_37823605/article/details/90341019

手动部署OpenStack环境(四:安装控制器必备软件)
https://blog.csdn.net/qq_37823605/article/details/90341032

手动部署OpenStack环境(五:新建网络及部署虚拟机)
https://blog.csdn.net/qq_37823605/article/details/90345105

手动部署OpenStack环境(六:出现的问题与解决方案&总结)
https://blog.csdn.net/qq_37823605/article/details/90345154

相关文章:

cocoaPods安装、更新第三方库

pod install 换成 pod install --verbose --no-repo-update pod update 换成 pod update --verbose --no-repo-update这是因为&#xff1a;目前&#xff0c;cocoaPods正在被墙中......转载于:https://www.cnblogs.com/hello-Huashan/p/5542456.html

iOS 性能优化总结

原文链接&#xff1a;https://github.com/skyming/iOS-Performance-Optimization关于 iOS 性能优化梳理&#xff1a; 基本工具、业务优化、内存优化、卡顿优化、布局优化、电量优化、 安装包瘦身、启动优化、网络优化等 —— 由_skyming_分享关于iOS 性能优化梳理&#xff1a; …

TCP/IP协议分析

一;前言 学习过TCP/IP协议的人多有一种感觉&#xff0c;这东西太抽象了&#xff0c;没有什么数据实例&#xff0c;看完不久就忘了。本文将介绍一种直观的学习方法&#xff0c;利用协议分析工具学习TCP/IP&#xff0c;在学习的过程中能直观的看到数据的具体传输过程。 为了初学者…

手动部署OpenStack环境(五:新建网络及部署虚拟机)

任务五、新建网络及部署虚拟机 5.1、配置安全组规则 5.2、新建网络 5.3、创建云主机 任务五、新建网络及部署虚拟机 5.1、配置安全组规则 5.1.1、配置安全组&#xff1b; 5.2、新建网络。 5.2.1、创建外部网络&#xff1b; 5.2.2、网络地址为外部网络连接的子网地址&#xff1b…

C++基础day01 程序设计方法的发展历程

类把属性和方法作了封装&#xff01; 总结&#xff1a; 面向过程程序设计&#xff1a;数据结构 算法 主要解决科学计算问题&#xff0c;用户需求简单而固定 特点&#xff1a; 分析解决问题所需要的步骤 利用函数实现各个步骤 依次调用函数解决问题 问题&#xff1a; 软件可重用…

【android】android中activity的生命周期

activity生命周期&#xff1a; 实例代码&#xff1a; 1 public class DemoActivity extends Activity {2 3 //1、activity第一次被创建的时候&#xff0c;执行4 Override5 public void onCreate(Bundle savedInstanceState) {6 super.onCreate(savedIn…

Xcode消除编译器警告

Whenever&#xff0c;Xcode警告对于我们来说都相当重要&#xff0c;提醒我们可能存在的错误。但是有时候&#xff0c;我们知道一切都好&#xff0c;everything is in the palm of my hand&#xff0c;我们想要消除那些警告。自己项目的警告 比如我们定义一个designated initial…

手动部署OpenStack环境(六:出现的问题与解决方案总结)

排错一&#xff1a;keystone服务安装中demo用户表单没信息。 排错思路&#xff1a; 组件安装是否有问题&#xff1b;用户创建畲缶有问题&#xff1b;用户认证信息是否合适&#xff1b;原因&#xff1a;用户的认证信息配置错误。 解决方案&#xff1a; a)删除有关demo用户的所有…

一劳永逸,iOS 自定义 ActionSheet 封装流程

原文链接&#xff1a;http://www.jianshu.com/p/cfb87a7db7b1本文为 iOS 自定义视图封装《一劳永逸》系列的第四期&#xff0c;旨在提供封装思路&#xff0c;结果固然重要&#xff0c;但理解过程才最好。授人以鱼不如授人以渔。 —— 由卖报的小画家Sure分享前言 本文为iOS自定…

cocoapods更新

使用sudo gem install cocoapods更新提示&#xff1a; ERROR: While executing gem ... (Errno::EPERM) Operation not permitted 改为&#xff1a;sudo gem install -n /usr/local/bin cocoapods --pre刷刷刷完成更新。但是马上发下更新后使用pod install又发现一个问题 The …

创建对象_工厂方法(Factory Method)模式 与 静态工厂方法

工厂方法模式&#xff1a; 定义&#xff1a;为创建对象定义一个接口&#xff0c;让子类决定实例化哪个类。工厂方法让一个类的实例化延迟至子类。应用场景&#xff1a;客户类不关心使用哪个具体类&#xff0c;只关心该接口所提供的功能&#xff1b;创建过程比较复杂&#xff0c…

数据通信技术(一:IP划分)

一、某公司生产部有50人&#xff0c;销售部有100人&#xff0c;财务部有25人&#xff0c;客服部有12人&#xff0c;没个员工配置一台主机&#xff0c;该公司有192.168.100.1/24的网段可用&#xff0c;应该如何划分子网。 销售部&#xff08;100&#xff09;台&#xff1a;/25 …

团队作业—第二阶段06

站立会议&#xff1a; 继续数据库的连接编程。 任务进度&#xff1a; 实现数据的输出。 站立会议照片&#xff1a; 任务看板&#xff1a; 燃尽图&#xff1a; 转载于:https://www.cnblogs.com/cpljlgs/p/5546157.html

Fade 数字切换动效

原文链接&#xff1a;http://www.jianshu.com/p/983674e6f4ef根据原型高度还原的一个动效作品。希望可以通过审核。谢谢。 —— 由Bear1494735376123分享欢迎同样喜爱动效的你加入 iOS动效特攻队–>QQ群&#xff1a;547897182 iOS动效特攻队–>熊熊&#xff1a;64807025…

fieldset 使用小案例

有初学者问到如何做出如下页面: 对应的代码如下: <fieldset><legend>★审核状态</legend><input name"state" type"radio" class"input1" value"1" />已审核<input name"state" type"radio…

数据通信技术(二:交换机配置管理)

交换机配置与管理&#xff08;思科模拟器&#xff09; 1.从用户模式进入特权模式,并进入配置模式设置进入特权模式的密码; 2.进入交换机的端口模式并进行端口状态的设置; 用新密码登录并查看接口状态信息,重启交换机;4.硬件和软件版本查询: 5.设备CPU的利用率: 6.检查设备的MA…

iOS之各种区别

作者 APP叫我取个帅气的昵称 关注 2017.05.15 10:47* 字数 140 阅读 1273评论 7喜欢 51写在前面&#xff1a;本文持续更新&#xff0c;也欢迎简友提供更多的关于iOS&#xff08;包括swift&#xff09;中的区别 1. _ _block和 _ _weak修饰符的区别的&#xff1a; (1). _ _block不…

lightoj 1014

lightoj 1014 Ifter Party 链接&#xff1a;http://www.lightoj.com/volume_showproblem.php?problem1014 题意&#xff1a;给你两个数 p, l&#xff0c;求 cha&#xff08;cha p-l&#xff09;的约数&#xff0c;当约数大于 l 时&#xff0c;按从小到大输出 思路&#xff1a…

poj 2681 字符串

http://poj.org/problem?id2681 给你任意长度的字符串&#xff0c;找出两串字符中不相同的字符个数&#xff08;总数&#xff09; #include<string> #include<cstring> #include<iostream> #include<cstdio> using namespace std; int main() {int n;…

数据通信技术(三:VLAN划分)

VLAN划分 1.配置环境 &#xff1a;创建4台PC机&#xff0c;并为PC机配置IP PC0&#xff1a;192.168.1.1/24 PC1&#xff1a;192.168.1.2/24 PC2&#xff1a;192.168.1.3/24 PC3&#xff1a;192.168.1.4/24 2.修改交换机名称&#xff1a; 创建VLAN1和VLAN2&#xff1a;…

CSS(2 )-- CSS样式大全

常用css样式大全Author&#xff1a;xu_shuyi201504039.CSS颜色代码大全http://www.cnblogs.com/axing/archive/2011/04/09/CSS.html1.CSS文字属性color : #999999; /*文字颜色*/font-family : 宋体,sans-serif; /*文字字体*/font-size : 9pt; /*文字大小*/font-style:itelic; /…

java io读书笔记(6) Writing Arrays of Bytes

显而易见&#xff0c;一次性写出一堆数据&#xff0c;要比一个byte一个byte的写&#xff0c;快多了&#xff0c;因此&#xff0c;outputstream&#xff0c;给出了2个增强型的write&#xff1a; public void write(byte[] data) throws IOException public void write(byte[] da…

iOS 自定义双向滑块Slider

ZPSlider 一个双向滑块的Slider 前提 这个是在一次和朋友吃饭的时候&#xff0c;我们唠嗑的时候他说的一个需求。因为系统的Slider是只有一个滑块的&#xff0c;而且没有分段滑动的效果。 这不最近都在研究这么个需求。 How to use it -(instancetype)initWithFrame:(CGRec…

数据通信技术(四:链路聚合)

1、修改交换机名称 2、配置A交换机数据 3、配置B交换机数据 4、创建VLAN 5、互拼验证 6、去掉一条链路再进行验证 数据通信技术&#xff08;一&#xff1a;IP划分&#xff09; https://blog.csdn.net/qq_37823605/article/details/90345408 数据通信技术&#xff08;二&#xf…

iOS图片,视频上传视频内容旋转

#前言 我最近在接手一个智能盒子的iOS应用&#xff0c;上面有一个功能是这样的。把你本地的照片和视频可以甩屏到你绑定的盒子上。 我的上一位前辈做的时候必须要求再同一个局域网&#xff0c;但是当我做的时候要求不同的局域网也要实现这样的一个功能&#xff0c;优化用户的使…

jackson 解析json问题

1、json串中有key为A&#xff0c;但指定转换的mybean中未定义属性A&#xff0c;会抛异常。处理&#xff1a;mapper.configure(Feature.FAIL_ON_UNKNOWN_PROPERTIES, false)&#xff0c;加上这一条&#xff0c;就没问题了&#xff0c;正常转换。 2、 默认的json串&#xff0c;如…

【转】UIColor对颜色的自定义

原文网址&#xff1a;http://blog.sina.com.cn/s/blog_5f19ccb10101bhqh.html 在iOS开发中&#xff0c;我们使用UIColor来对我们的界面进行颜色设置&#xff0c;一般我们通过以下两种方法使用UIColor&#xff1a;1,label.textColor [UIColor blueColor];2,label.textColor [U…

数据通信技术(八:OSPF单区域配置实验)

OSPF单区域配置实验(Cisco) 一&#xff0e;知识准备 1.掌握了OSPF动态路由协议的定义和功能&#xff1b; 2.掌握了OSPF动态路由协议的特征和工作原理。 二&#xff0e;实验目的 掌握OSPF动态路由单区域的基本配置方法和结果验证。 掌握OSPF单区域配置的作用 三&#xff…

redis在php中的使用介绍

redis介绍 redis是一个key-value存储系统。和Memcached类似&#xff0c;它支持存储的value类型相对更多&#xff0c;包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hashs&#xff08;哈希类型&#xff09;。这些数据类型都 支持push/pop、add/remo…

控制发光二极管

一 LED驱动的实现原理 尽管Linux驱动直接与硬件打交道&#xff0c;但并不是Linux驱动直接向硬件中的内存写数据&#xff0c;而是与本机的I/O内存进行交互。每一个连接Linux的硬件在I/O内存中都会有映射首地址&#xff0c;开发板上的LED也有其映射首地址。 二 编写LED驱动 第一…