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

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

[复制链接]

尚未签到

发表于 2018-5-31 07:40:48 | 显示全部楼层 |阅读模式
openstack介绍
   openstack是一个云平台管理的项目,它不是一个软件。也就是说我们可以使用openstack来管理我们一个数据中心大量资源池。它里面包含了很多子项目
  

DSC0000.png

  openstack包含三大项:计算 网络 存储
  openstack主要目标是来简化资源的管理和分配,把计算 网络 存储。三大项虚拟成三大资源池,例如需要计算资源我这里可以提供,需要网络资源这里也可以提供以及存储资源的需求,对外提供api,通过api进行交互
  openstack的设计基本上是按照
亚马逊进行设置的,我们可以将openstack理解为开源版本的aws。因为它很多地方都参考亚马逊进行操作的,而且openstack的很多api跟亚马逊是相通的。
  openstack火起来的原因首先是
apache旗下的开源软件,第二它是由python进行编写
(因为python比较简单,深受技术人员的喜欢)

  openstack官方网站:http://www.openstack.org
openstack版本介绍
DSC0001.jpg

  openstack版本是每6个月发布一次,每次版本的顺序按照A-Z进行排序。
那么我们应该如何选择版本呢?
  我们选择版本的时候,除了新版本的那些功能不得不用,那我们可以选择新的版本。其实我们可以选择稍微落后的一个版本。上述图不够准确,现在已经达到N版。国内openstack是从E班开始火的。因为E版本当时是比较完善的,国内openstack最火的时候是在G版的时候。现在国内不论是传统行业还是互联网行业都在使用openstack

openstack架构
DSC0002.png

服务名称项目名称描述DasgviardHorizon基于Openstack API接口使用diango开发的Web管理ComputeNova通过虚拟化技术提供计算资源池NetworkingNeutron实现了虚拟机的网络资源管理。


Storage (存储)

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


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


Higher-level Services (高层服务)

OrchestrationHeat自动化部署的组件Database ServiceTrove提供数据库应用服务
DSC0003.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月发布的

  环境
[root@linux-node1 ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@linux-node1 ~]# uname -r3.10.0-327.36.2.el7.x86_64[root@linux-node1 ~]# cat /etc/hosts127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4::1         localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.56.11 linux-node1.abcdocker.com192.168.56.12 linux-node2.abcdocker.com
  安装时间同步
[root@linux-node1 ~]# yum install ntpdate -y[root@linux-node1 ~]# ntpdate time1.aliyun.com[root@linux-node1 ~]# timedatectl set-timezone Asia/Shanghai  #设置时区另一种设置时区方法[root@linux-node1 ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  提示: 生产环境中必须保证openstack节点时间同步,如果时间不同步是无法创建虚拟机的
openstack基础软件包安装
  基础软件包需要在所有的Openstack节点上进行安装,包括控制节点和计算节点
1、安装EPEL仓库

[root@linux-node1 ~]# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
  2、安装Openstack仓库
[root@linux-node1 ~]# yum install -y centos-release-openstack-mitaka#安装完成后会在/etc/yum.repos.d/下生成CentOS-OpenStack-mitaka.repo
  3、安装Openstack客户端
[root@linux-node1 ~]#  yum install -y python-openstackclient提示:会把openstack常用的客户端都进行安装
  4、安装openstack SELinux管理包
yum install -y openstack-selinux
  如果我们没有进行关闭selinux openstack-selinux就会自动帮我们设置
DSC0004.png

  RabbitMq在openstack几大用处
1.做服务之间相互通讯的工具
2.信息同步(异步执行)
如果没有
RabbitMq服务之间将无法进行通讯
  提示:如果是生产环境,数据库是需要做备份的,否则数据库一挂数据将会丢失,openstack也将无法进行提供服务
安装数据库
[root@linux-node1 ~]# yum install -y mariadb mariadb-server python2-PyMySQLcentos7 默认安装mysql 会在/etc/my.cnf里面includedir /etc/my.cnf.d/ 所以我们需要将配置文件放在这个目录下就可以生效[root@linux-node1 ~]# cd /etc/my.cnf.d/[root@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 #默认字符集
启动数据库
[root@linux-node1 ~]# systemctl start mariadb[root@linux-node1 ~]# systemctl enable mariadbCreated symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
  启动后我们需要进行检查
  为了保证数据库服务的安全性,运行mysql_secure_installation脚本。特别需要说明的是,为数据库的root用户设置一个适当的密码。
[root@linux-node1 ~]# mysql_secure_installation#它会帮我们删除测试数据库等
  数据库安装完成后我们需要给我们后面所要用到的服务创建用户并进行授权
  创建认证服务的数据库并进行授权
[root@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;grant 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
[root@linux-node1 ~]# yum install rabbitmq-server -y消息队列的端口是5672
  启动消息队列服务并将其配置为随系统启动:
[root@linux-node1 ~]# systemctl enable rabbitmq-server.service[root@linux-node1 ~]# systemctl start rabbitmq-server.service
  因为我们一会要使用openstack,所以我们在rabbitmq上创建一个openstack用户
[root@linux-node1 ~]# rabbitmqctl add_user openstack openstack[root@linux-node1 ~]# rabbitmqctl add_user用户 密码
  openstack用户读写权限
[root@linux-node1 ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*".*分别代表配置、写入、读取
  提示:如果rabbitmq没有启动说明主机名没有解析
  开启rabbitmq监控插件
rabbitmq有很多插件,我们可以使用rabbitmq-plugins list查看可用插件
rabbitmq_management插件提供一个web界面,所以我们要将它开启
[root@linux-node1 ~]# rabbitmq-plugins enable rabbitmq_managementrabbitmq启动之后会监听15672
DSC0005.png

  访问路径:http://ip:15672
默认Username:guest
默认Password:guest

  示例图
DSC0006.png
  提示:这里不能使用openstack用户进行登陆,因为我们如果想使用openstack用户进行登陆还需要在web页面进行授权
  现在我们就进行rabbitmq的管理界面了
DSC0007.png
  默认有一个httpapi,我们如果想监控 可以使用http的api进行监控。里面基本上想监控的东西都有,可以通过脚本来获取通过url来判断等。
DSC0008.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-483237-1-1.html 上篇帖子: lvs,dhcp,dns,lnmp,lamp,zabbix,nagios,hadoop,openstack,rsync等工作原理 下篇帖子: Openstack(N版)实战
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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