您的位置:首页 > 运维架构

openstack(一)入门

2016-02-28 00:56 253 查看
可能很多人会跟我一样,开始刚接触openstack,去学的时候发现东西很多,越看越乱,有种无处发力的感觉。这里我结合红帽RHCA认证里的openstack课程认证和openstack官方网站,加上自己的理解,整理成博文,抛砖引玉。

一、基本概念
OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。 OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。
概念里面几个关键字:开源、云计算管理平台、IaaS、集成

总的来讲,个人觉得,学习openstack大概需要了解以下几个技能:
要有基本的linux知识

了解基本的虚拟化相关概念,熟悉KVM等

搞云计算离不开网络,对DHCP、NAt、Bridge、vlan这些网络知识是必须要了解的。

了解相关存储知识,如分布式存储、对象存储

掌握一种自动化部署的工具,比如puppet、ansible、Chef等你会发现事半功倍

Python

了解一个框架,flask或Django起码知道。OpenStack 基于 Web 的管理控制台 OpenStack Dashboard 是用 Python 和 Django 框架写的。

二、openstack架构
先上图,暂不多说:




三、主要服务(service)
因为openstack涉及的service比较多,初期接触的时候建议只关注几个关键的服务,慢慢的由浅入深。 安照openstack官方给出的顺序: 第一步,选择你的使用方式,How will you be using OpenStack? 是只当计算资源用还是当对象存储 使用,亦或两者结合使用; 第二步,选择核心服务,包括keystone(identity)、nova(compute)、neutron(networking)、cinder(block storage)、swift(object storage)glance(glance),这几个core service基本都是需要了解的; 第三步,选Optional Services来强化,这里面可以优先选择看horizon(dashboard)、 ceilometer(telemetry)、heat(orchestration)。相关服务介绍如下:
Horizon(dashboard)一个基于Web的Openstack管理平台,为用户提供如:启动虚拟机、管理虚拟网络、设置访问控制的图像接口。
Keystone(identity)一个中心认证服务,为其他服务提供认证和授权。keystone同时提供openstack云各个其他组件的目录服务。
Keystone提供多种认证方式包括:用户名、密码,令牌,AWS(Amazon logins)
Keystone是所有服务的起始点,只有经过认证,其它的服务才会认为可以合法执行。它是Openstack的钥匙。
Neutron(networking)在Openstack云中创建和管理虚拟网络架构(网络、子网、路由、防火墙)
Cinder(block storage)为虚拟机提供逻辑卷管理功能,通常为虚拟机提供附加磁盘存储。
Nova(compute)提供虚拟机管理功能,调用底层的Hypervisor提供该功能,支持libvirtd,qemu,kvm等Hypervisor。
Glance(image)Glance项目提供虚拟机镜像的发现,注册,取得服务;
Glance提供restful API可以查询虚拟机镜像的metadata,并且可以获得镜像;
通过Glance,虚拟机镜像可以被存储到多种存储上,比如简单的文件存储或者对象存储。
Swift(object storage)Swift项目提供了弹性可伸缩、高可用的分布式对象存储服务,适合存储大规模非结构化数据。
Ceilometer(metering)Ceilometer像一个漏斗,能把OpenStack内部发生的几乎所有的事件都收集起来,然后为计费和监控以及其它服务提供数据支撑。
Heat(orchestration)heat实现了一种自动化的通过简单定义和配置就能实现的云部署方式。可以在heat模板中定义连串相关任务(例如用某配置开几台虚拟机,然后再去在其中一台中安装一个mysql服务,设定相关数据库属性,然后再配置几台虚拟机安装web服务集群等等),然后交由heat,由heat按照一定的顺序执行heat模板中定义的一连串任务。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  入门 openstack