设为首页 收藏本站
查看: 1550|回复: 0

[经验分享] OpenStack基础环境 [一]

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-11-29 08:53:09 | 显示全部楼层 |阅读模式
openstack介绍
 openstack是一个云平台管理的项目,它不是一个软件。也就是说我们可以使用openstack来管理我们一个数据中心大量资源池。它里面包含了很多子项目
image_1b25l8lci9tvktkei712s8un59.png
openstack包含三大项:计算 网络 存储
  openstack主要目标是来简化资源的管理和分配,把计算 网络 存储。三大项虚拟成三大资源池,例如需要计算资源我这里可以提供,需要网络资源这里也可以提供以及存储资源的需求,对外提供api,通过api进行交互
  openstack的设计基本上是按照亚马逊进行设置的,我们可以将openstack理解为开源版本的aws。因为它很多地方都参考亚马逊进行操作的,而且openstack的很多api跟亚马逊是相通的。
  openstack火起来的原因首先是apache旗下的开源软件,第二它是由python进行编写
(因为python比较简单,深受技术人员的喜欢)
openstack官方网站:http://www.openstack.org
openstack版本介绍
image_1b25lemg8s41aji1c30vkivq2m.png
 openstack版本是每6个月发布一次,每次版本的顺序按照A-Z进行排序。
那么我们应该如何选择版本呢?
  我们选择版本的时候,除了新版本的那些功能不得不用,那我们可以选择新的版本。其实我们可以选择稍微落后的一个版本。上述图不够准确,现在已经达到N版。国内openstack是从E班开始火的。因为E版本当时是比较完善的,国内openstack最火的时候是在G版的时候。现在国内不论是传统行业还是互联网行业都在使用openstack
openstack架构
image_1b25lh9fd4bs1cb6q8g1v0r67f13.png
[td]
服务名称项目名称描述
DasgviardHorizon基于Openstack API接口使用diango开发的Web管理
ComputeNova通过虚拟化技术提供计算资源池
NetworkingNeutron实现了虚拟机的网络资源管理。



Storage (存储)

Object StorageSwift对象存储,适用于“一次写入、多次读取”
Block StorageCinder块存储,提供存储资源池



ShareServices (共享服务)
Identify ServiceKeystone认证管理
Image ServiceGlance提供虚拟镜像的注册和存储管理
TelemetryCeilometer提供监控和数据采集、计量服务



Higher-level Services (高层服务)

OrchestrationHeat自动化部署的组件
Database ServiceTrove提供数据库应用服务
image_1b25lidia998o14cdh1mk0doo9.png
解释:这里面所有的服务都是围绕着VM进行提供服务的,虚拟机需要什么资源,我们就提供什么资源
  我们可以将服务分为两大类,一个是服务的提供者,一个是服务的消费者。提供者是我可以提供某个服务,消费者是我可以用到这个服务。
  openstack默认是没有创建虚拟机的功能,是通过调用KVM来创建虚拟机还可以调用esxi来创建虚拟机,总之openstack没有创建虚拟机的功能都是通过调用其他服务来进行操作。openstack就是一个框架,它可以调用其他的服务,所以openstack也就是一个管理平台
Openstack服务介绍
MySQL:为各个服务提供数据存储
RabbitMq:为各个服务之间通信提供认证和服务注册
Keystone:为各个服务器之间通讯提供认证和服务注册
Glance:为虚拟机提供镜像管理
Nova:为虚拟机提供计算资源
Neutron:为虚拟机提供网络资源
Openstack环境准备-MySQL、RabbirMQ
中文文档:http://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/
提示:这个中文文档是直接翻译过来的,所以会有很多不通顺的地方
特别提示:环境请和我保持一致!!!!!!!!保持一致!保持一致!保持一致!
本次我们安装Openstack M版,M版是在2016-4月发布的
环境
  • [iyunv@linux-node1 ~]# cat /etc/redhat-release
  • CentOS Linux release 7.2.1511 (Core)
  • [iyunv@linux-node1 ~]# uname -r
  • 3.10.0-327.36.2.el7.x86_64
  • [iyunv@linux-node1 ~]# cat /etc/hosts
  • 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
  • ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
  • 192.168.56.11 linux-node1.abcdocker.com
  • 192.168.56.12 linux-node2.abcdocker.com
安装时间同步
  • [iyunv@linux-node1 ~]# yum install ntpdate -y
  • [iyunv@linux-node1 ~]# ntpdate time1.aliyun.com
  • [iyunv@linux-node1 ~]# timedatectl set-timezone Asia/Shanghai  #设置时区
  • 另一种设置时区方法
  • [iyunv@linux-node1 ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
提示: 生产环境中必须保证openstack节点时间同步,如果时间不同步是无法创建虚拟机的
openstack基础软件包安装
基础软件包需要在所有的Openstack节点上进行安装,包括控制节点和计算节点
1、安装EPEL仓库
2、安装Openstack仓库
  • [iyunv@linux-node1 ~]# yum install -y centos-release-openstack-mitaka
  • #安装完成后会在/etc/yum.repos.d/下生成CentOS-OpenStack-mitaka.repo
3、安装Openstack客户端
  • [iyunv@linux-node1 ~]#  yum install -y python-openstackclient
  • 提示:会把openstack常用的客户端都进行安装
4、安装openstack SELinux管理包
  • yum install -y openstack-selinux
如果我们没有进行关闭selinux openstack-selinux就会自动帮我们设置
image_1b25m5tpi1pm1h6bk5l1191k32m.png
RabbitMq在openstack几大用处
1.做服务之间相互通讯的工具
2.信息同步(异步执行)
如果没有RabbitMq服务之间将无法进行通讯
提示:如果是生产环境,数据库是需要做备份的,否则数据库一挂数据将会丢失,openstack也将无法进行提供服务
安装数据库
  • [iyunv@linux-node1 ~]# yum install -y mariadb mariadb-server python2-PyMySQL
  • centos7 默认安装mysql 会在/etc/my.cnf里面includedir /etc/my.cnf.d/ 所以我们需要将配置文件放在这个目录下就可以生效
  • [iyunv@linux-node1 ~]# cd /etc/my.cnf.d/
  • [iyunv@linux-node1 my.cnf.d]# vim openstack.cnf
  • [mysqld]
  • bind-address = 192.168.56.11   #监听的IP地址(也可以写0.0.0.0)
  • default-storage-engine = innodb  #默认存储引擎[innodb]
  • innodb_file_per_table       # 使用独享表空间
  • max_connections = 4096          #最大连接数是4096 (默认是1024)
  • collation-server = utf8_general_ci  #数据库默认校对规则
  • character-set-server = utf8 #默认字符集
启动数据库
  • [iyunv@linux-node1 ~]# systemctl start mariadb
  • [iyunv@linux-node1 ~]# systemctl enable mariadb
  • Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
启动后我们需要进行检查
为了保证数据库服务的安全性,运行mysql_secure_installation脚本。特别需要说明的是,为数据库的root用户设置一个适当的密码。
  • [iyunv@linux-node1 ~]# mysql_secure_installation
  • #它会帮我们删除测试数据库等
数据库安装完成后我们需要给我们后面所要用到的服务创建用户并进行授权
创建认证服务的数据库并进行授权
  • [iyunv@linux-node1 ~]# mysql -uroot -p123456
  • 创建keystone数据库
  • create database keystone;
  • grant all on keystone.* to 'keystone'@'localhost' identified by 'keystone';
  • grant all on keystone.* to 'keystone'@'%' identified by 'keystone';
创建镜像数据库并进行授权
  • 创建glance数据库
  • create database glance;
  • grant all on glance.* to 'glance'@'%' identified by 'glance';
  • grant all on glance.* to 'glance'@'localhost' identified by 'glance';
创建虚拟化数据库并进行授权
  • 创建nova数据库
  • create database nova;
  • grant all on nova.* to 'nova'@'localhost' identified by 'nova';
  • grant all on nova.* to 'nova'@'%' identified by 'nova';
因为Nova有2个项目,所以我们要创建2个数据库
创建nova-api数据库
  • create database nova_api;
  • rant all on nova_api.* to 'nova_api'@'localhost' identified by 'nova_api';
  • grant all on nova_api.* to 'nova_api'@'%' identified by 'nova_api';
提示:nova_api是新版本才有
创建网络资源管理数据库
  • create database neutron;
  • grant all on neutron.* to 'neutron'@'%' identified by 'neutron';
  • grant all on neutron.* to 'neutron'@'localhost' identified by 'neutron';
刷新
  • flush privileges;
安装消息队列rabbitmq
  • [iyunv@linux-node1 ~]# yum install rabbitmq-server -y
  • 消息队列的端口是5672
启动消息队列服务并将其配置为随系统启动:
  • [iyunv@linux-node1 ~]# systemctl enable rabbitmq-server.service
  • [iyunv@linux-node1 ~]# systemctl start rabbitmq-server.service
因为我们一会要使用openstack,所以我们在rabbitmq上创建一个openstack用户
  • [iyunv@linux-node1 ~]# rabbitmqctl add_user openstack openstack
  • [iyunv@linux-node1 ~]# rabbitmqctl add_user用户 密码
给openstack用户读写权限
  • [iyunv@linux-node1 ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
  • .*分别代表配置、写入、读取
提示:如果rabbitmq没有启动说明主机名没有解析
开启rabbitmq监控插件
rabbitmq有很多插件,我们可以使用rabbitmq-plugins list查看可用插件
rabbitmq_management插件提供一个web界面,所以我们要将它开启
  • [iyunv@linux-node1 ~]# rabbitmq-plugins enable rabbitmq_management
  • rabbitmq启动之后会监听15672
image_1b25mknrh17121mn3147c2d02kv13.png
访问路径:http://ip:15672
默认Username:guest
默认Password:guest
示例图
image_1b25mlkl0bc1mae1g094jfuk61g.png
提示:这里不能使用openstack用户进行登陆,因为我们如果想使用openstack用户进行登陆还需要在web页面进行授权
现在我们就进行rabbitmq的管理界面了
image_1b25mmtt24ma11bh1216jrn6o51t.png
rabbitmq默认有一个http 的api,我们如果想监控 可以使用http的api进行监控。里面基本上想监控的东西都有,可以通过脚本来获取通过url来判断等。
image_1b25mnkri15572drua0171d12lh2a.png


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-306952-1-1.html 上篇帖子: 云计算之OpenStack实战记(二)与埋坑填坑 下篇帖子: OpenStack 认证服务 KeyStone [二]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表