OpenStack 运维 - 从零开始学习

Posted serendipity_cat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenStack 运维 - 从零开始学习相关的知识,希望对你有一定的参考价值。

一、OpenStack简介

NASA(美国国家航空航天局)和 Rackspace(是一家全球领先的托管服务器及云计算提供商)共同发起
以 Apache 许可证(Apache 软件基金会发布的一个自由软件许可证)授权的自由软件和开放源代码项目,不只是一个软件,这个项目由几个主要的组件组合起来完成一些具体的工作
为公有云及私有云的建设与管理提供可扩展的弹性的云计算服务(开源项目)
覆盖了网络、虚拟化、操作系统、服务器等各个方面

二、OpenStack服务

服务项目名称描述
Compute(计算服务)Nova①负责实例生命周期的管理,计算资源的单位②对 Hypervisor 进行屏蔽,支持多种虚拟化技术(红帽默认为 KVM),且支持横向扩展
Network(网络服务)Neutron①负责虚拟网络的管理,为实例创建网络的拓扑结构②是面向租户的网络管理,可以自己定义自己的网络,各个租户之间互不影响
Identity(身份认证服务)Keystone①类似于 LDAP 服务,对用户、租户和角色、服务进行认证与授权②且支持多认证机制
Dashboard(控制面板服务)Horizon①提供一个 Web 管理界面②与 OpenStack 底层服务进行交互
Image Service(镜像服务)Glance①提供虚拟机镜像模板的注册与管理,将做好的操作系统拷贝为镜像模板,在创建虚拟机时可直接使用,②可支持多格式的镜像
Block Storage(块存储服务)Cinder①负责为运行实例提供持久的块存储设备,可进行方便的扩展,按需付费②支持多种后端存储
Object Storage(对象存储服务)Swift①为 OpenStack 提供基于云的弹性存储②支持集群无单点故障
Telemetry(计量服务)Ceilometer①用于度量、监控和控制数据资源的集中来源②为 OpenStack 用户提供记账途径

三、OpenStack优势

① 控制性

是一个完全开源的平台,开源的平台意味着不会被某个特定的厂商绑定和限制

提供 API 接口,模块化的设计能把遗留的和第三方的技术进行集成,从而来满足自身业务需要

② 兼容性

OpenStack 兼容其他公有云,方便用户(企业)很容易的将数据和应用迁移
在云计算社区,有一个流行的概念,即数据是有重量的,一旦将数据存在某个云计算提供商那里,它就变得繁重而难以迁移,作为企业最重要的资源,如果在迁移的过程中不能保护好数据安全,很有可能会给企业带来灭顶之灾,相信没有公司愿意承担这个风险

③ 可扩展性

目前,主流的 Linux 系统,基本都支持 OpenStack
OpenStack 在大规模部署公有云时,在可扩展性上有优势,而且也可用于私有云,一些企业特性也在逐步完善中
模块化设计,可以通过横向扩展来增加节点、添加资源

④ 灵活性

灵活性是 OpenStack 最大的优点之一,用户可以根据自己的需要建立基础设施,也可以轻松地为自己的集群增加规模
在极为宽松自由的 Apache 许可下发布,这意味着任何第三方都可以重新发布这些代码,在其基础上开发私有软件并按照新的许可发布,给众多的云计算企业,留下了的更大的发展空间

⑤ 行业标准

来自全球十多个国家的60多家领军企业,包括 Cisco、Dell、Intel 以及微软都参与到了 OpenStack 的项目中,并且在全球使用 OpenStack 技术的云平台在不断的上线
云计算领军企业的加入,会无形透露出一个信息,就是OpenStack未来可能会成为一个行业标准,而且OpenStack项目研发的初衷就是制定一套开源软件标准

⑥ 实践检验

实践是检验真理的唯一标准,OpenStack 的云操作系统,已被全球正在运营的大型公有云和私有云技术所验证过
OpenStack 在中国的发展趋势也是非常之好,包括物联网用户、国内高校以及部分大小企业,都开始利用 OpenStack 建立云计算环境,整合企业架构以及治理公司内部的IT基础架构

四、OpenStack架构解析

① 四大节点

OpenStack是由控制节点,计算节点,网络节点,存储节点四大部分组成

控制节点

定位:运维人员通过控制节点从而控制整个openstack架构
控制节点包括支持服务,基础服务,扩展服务和网络接口服务,外部的裸金属服务提供物理资源支撑

支持服务:包括数据库支持和通信支持,为整个节点提供数据存储服务和服务之间消息队列的通信服务。
基础服务:为虚拟机提供基础的镜像、网络、计算资源;keystone负责整个架构的认证和授权,运维人员通过horizon可视化的界面进行管理。
扩展服务:主要针对虚拟机的数据管理,heat进行数据的编排和管理。计量服务在此获取虚拟机的数据源,进行资源监控和计量,并记录。
网络接口:专门管理节点的网络服务,用于联系控制其他节点。

基础管理服务

Keystone:认证管理服务,提供了其余所有组件的认证信息/令牌的管理,创建,修改等等,使用mysql作为统一的数据库
Glance:镜像管理服务,提供了对虚拟机部署的时候所能提供的镜像的管理,包含镜像的导入,格式,以及制作相应的模板
Nova:计算管理服务,提供了对计算节点的Nova的管理,使用Nova-API进行通信
Neutron:网络管理服务,提供了对网络节点的网络拓扑管理,同时提供了Neutron在Horizon的管理面板
Horizon:控制台服务,提供了以web的形式,对所有节点的所有服务管理,通常把该为DashBoard
扩展管理服务
Cinder:提供管理块存储节点服务,同时提供Cinder在Horizon中的管理面板
Swift:提供管理对象存储节点服务,同时提供Swift在Horizon中的管理面板
Trove:提供管理数据库的节点服务,同时提供Trove在Horizon中的管理面板
Heat:提供了基于模板来实现云环境中资源的初始化,依赖关系处理,部署等基本操作,也可以解决自动收缩,负载均衡等高级特性
Centimeter:提供对物理资源以及虚拟资源的监控,并且记录这些数据,对该数据进行分析,在一定的条件下,触发相应的动作

计算节点

计算节点包括Nova、Neutron、Telemeter三个服务
基础服务

Nova:提供虚拟机的创建、运行、迁移、快照等各种围绕虚拟机的服务,并且提供API与控制节点对接,有控制节点下发任务
Neotron:提供计算节点与网络节点之间的通信服务
扩展服务

Telmeter:提供计算节点的监控代理,将虚拟机的情况反馈给控制节点,是Centimeter的代理服务

② OpenStack组件通信关系

基于AMQP协议的通信
用于每个项目内部各个组件之间的通信

基于SQL的通信
用于各个项目内部的数据库通信

基于HTTP协议进行通信
通过各项目的API建立的通信关系,API都是RESTful Web API

通过Native API实现通信
OpenStack各组件和第三方软硬件之间的通信

以上是关于OpenStack 运维 - 从零开始学习的主要内容,如果未能解决你的问题,请参考以下文章

如何从零开始学习OpenStack

书籍推荐 | OpenStack从零开始学

如何从零开始学习OpenStack

Docker 运维 - 从零开始学习

Docker 运维 - 从零开始学习

Redis 运维 - 从零开始学习