openstack入门
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openstack入门相关的知识,希望对你有一定的参考价值。
可能很多人会跟我一样,开始刚接触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模板中定义的一连串任务。 |
本文出自 “Jason'blog” 博客,请务必保留此出处http://xujunxian.blog.51cto.com/8614409/1745675
以上是关于openstack入门的主要内容,如果未能解决你的问题,请参考以下文章