这个配置玩gta5最低配置可以吗?

966,690 十二月 独立访问用户
语言 & 开发
架构 & 设计
文化 & 方法
您目前处于:
通过demo学习OpenStack开发--API服务(1)
通过demo学习OpenStack开发--API服务(1)
欲知区块链、VR、TensorFlow等潮流技术和框架,请锁定
相关厂商内容
相关赞助商
QCon北京-18日,北京&国家会议中心,
通过Web界面使用OpenStack服务这种方式是通过OpenStack的Horizon项目提供的。Horizon项目是一个Django应用,实现了一个面板功能,包含了前后端的代码(除了Python,还包括了CSS和JS)。Horizon项目主要是提供一种交互界面,它会通过API来和各个OpenStack服务进行交互,然后在Web界面上展示各个服务的状态;它也会接收用户的操作,然后调用各个服务的API来完成用户对各个服务的使用。
通过命令行是用OpenStack服务的方式是由一系列项目来提供的,这些项目一般都命名为python-projectclient,比如python-keystoneclient,python-novaclietn等。这些命令行项目分别对应到各个主要的服务,为用户提供命令行操作界面和Python的SDK。比如python-keystoneclient对应到keystone,为用户提供了keystone这个命令,同时也提供了keyston项目的SDK(其实是在SDK的基础上实现了命令行)。这些client项目提供的SDK其实也是封装了对各自服务的API的调用。由于每个主要项目都有一个自己的命令行工具,社区觉得不好,于是又有了一个新的项目python-OpenStackclient,用来提供一个统一的命令行工具OpenStack(命令的名字就叫做OpenStack),这个工具实现了命令行,然后使用各个服务的client项目提供的SDK来完成对应的操作。
通过API使用OpenStack的方式是由各个服务自己实现的,比如负责计算的nova项目实现了计算相关的API,负责认证的keystone项目实现了认证和授权相关的API。这些API都是有统一的形式的,都是采用了HTTP协议实现的符合REST规范的API。OpenStack中如何实现这些API就是本文重点要将的内容。
基于HTTP协议的RESTful API
REST的全称是Representational State Transfer,中文翻译过来是表征状态转移,是Roy Fielding在他的博士论文提出的一种软件架构风格。可以先到wikipedia页面了解一下这个风格的特点。一般会把满足这种设计风格的API成为RESTful API。由于这种软件设计风格非常适合采用HTTP协议来实现,因此HTTP协议是目前实现RESTful API的主要方案。
OpenStack就是基于HTTP协议和JSON来实现自己的RESTful API(之前OpenStack还有采用XML来表示数据的,现在都已经转到JSON了)。当一个服务要提供API时,它就会启动一个HTTP服务端,用来对外提供RESTful API。
OpenStack的API都是有详细的文档记录的,可以查看所有的。每个API的文档形式如下:
当然,你可以点开detail看到详细的说明。从上面这个API的文档来看,你会觉得这个和开发网站时使用的GET方法和POST方法差不多,实际上也是差不多的,只不过对HTTP协议的使用方法做了满足REST风格的规定而已。
Python如何实现RESTful API
因为Python能够进行Web开发,所以用来开发RESTful API也就不成问题,这两者的技术基础是一样。在Python下开发RESTful API应用,无非是解决两个问题:
服务如何部署?
用什么框架开发?
服务如何部署?
说到Python的Web服务部署这个问题,就不得不提到WSGI。目前Python有两种方式来开发和部署一个Web应用:用WSGI和不用WSGI。如果你不了解WSGI,那么你需要先看下另外这篇关于WSGI的文章:。
OpenStack的API服务都是使用WSGI的方式来部署的。在生产环境中部署WSGI,一般会考虑使用Web服务器 + 应用服务器 + 应用(框架)的方案。OpenStack官方推荐的是使用Apache + mod_wsgi的方案,不过这个要换成其他方案也很容易,你也可以选nginx + uWSGI。对于开发调试的目的,有些项目也会提供使用eventlet的单进程部署方案,比如Keystone项目的keystone-all命令。采用eventlet这种异步架构来进行应用开发也是一个比较大的话题,本文不覆盖这方面的内容。
当然,也可以不用WSGI。在Python中,如果不使用WSGI的化,一般开发者会选择一些专门的服务器和框架,比如,或者最新最潮的。不过在OpenStack的项目中我还没见过不使用WSGI的。
用什么框架开发
Python的Web开发框架很多,最出名自然是Django了。基本上,还活跃的框架都支持RESTful API的开发,有些框架还专门为RESTful API的开发提供了便利的功能(比如Pecan),有些框架则通过第三方模块来提供这种便利,比如Django和Flask都有不少和REST相关的第三方库。
对于框架选择,也没有什么特别好的标准,一般都是比较性能、文档、社区是否活跃等。在我看来,选择流行的一般就不会错。
OpenStack中的RESTful API开发
上面已经谈到了OpenStack都是使用WSGI,也提到了部署方式。这一章来说一下OpenStack中使用的框架。
OpenStack项目倾向于不重新发明轮子,一般都会选择现有的库和框架来使用,除非现有的框架不满足需求。因为Web框架的选择很多,而且都满足需求,所以OpenStack项目到目前为止都是使用现成的Web框架。
OpenStack早期的项目并没有使用一个框架,而是使用了几个不同的模块来组合出一个框架:Paste + PasteDeploy + Routes + WebOb,这几个不同的模块分别负责应用的WSGI化、URL路由和请求处理等功能。Nova, Glance, Neutron, Keystone等早期的项目都是使用这样的架构来实现RESTful API的。
早期的这种技术选型带来的好处是&框架&具备足够的灵活性,缺点则是要把这几个模块组合起来实现一个REST服务,需要写很多代码,连WSGI的入口函数都要自己实现(比如Keystone项目的keystone/common/wsgi.py文件中的class Application)。因为灵活性的好处不是很明显,而代码量大的坏处很明显,比如上面那个class Application需要在每个项目中复制一遍,所以社区的新项目就开始使用新的Web框架Pecan。
Pecan是一个基于对象路由的框架,即灵活又简单。Pecan主要实现了URL路由功能,支持RESTful API。Pecan没有实现模板、session管理和ORM等功能,但是这些功能可以通过其他的模块来实现。对于OpenStack来说,Pecan是一个很好的选择,因为OpenStack项目中统一使用sqlalchemy来实现ORM,API的实现也不需要模板功能,安全控制则基于Keystone体系。使用Pecan来开发REST服务,代码量很少,代码结构也清晰。Ceilometer项目就是使用了Pecan。
感谢对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至。也欢迎大家通过新浪微博(,),微信(微信号:)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群(已满),InfoQ读者交流群(#2))。
Author Contacted
告诉我们您的想法
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p
当有人回复此评论时请E-mail通知我
赞助商链接
InfoQ每周精要
通过个性化定制的新闻邮件、RSS Feeds和InfoQ业界邮件通知,保持您对感兴趣的社区内容的时刻关注。
架构 & 设计
文化 & 方法
<及所有内容,版权所有 &#169;
C4Media Inc.
服务器由 提供, 我们最信赖的ISP伙伴。
北京创新网媒广告有限公司
京ICP备号-7
注意:如果要修改您的邮箱,我们将会发送确认邮件到您原来的邮箱。
使用现有的公司名称
修改公司名称为:
公司性质:
使用现有的公司性质
修改公司性质为:
使用现有的公司规模
修改公司规模为:
使用现在的国家
使用现在的省份
Subscribe to our newsletter?
Subscribe to our industry email notices?
我们发现您在使用ad blocker。
我们理解您使用ad blocker的初衷,但为了保证InfoQ能够继续以免费方式为您服务,我们需要您的支持。InfoQ绝不会在未经您许可的情况下将您的数据提供给第三方。我们仅将其用于向读者发送相关广告内容。请您将InfoQ添加至白名单,感谢您的理解与支持。历史与愿景
OpenStackTM是一个开源的基础设施即服务(IaaS)平台。OpenStack是由Rackspace和NASA共同努力发起的,其创立于2010年。它是用来管理大量的计算机、存储以及数据中心内的网络资源,所有的管理通过一个集中式的仪表板。
OpenStack是世界上开源里增长最快的一个项目,有超过18000的个人贡献者和430家参与企业。它是由OpenStack基础会组织,该基金会推进OpenStack的发展、发布及采用。基金会的个人会员是免费的,企业会员付费并分为两个等级,白金和黄金。基金会由董事会指导,董事会由个人和企业代表参加。
根据OpenStack Pulse 2014来自451的研究,基于OpenStack的市场收入到2016年预计将达到13亿美元,2018年将超过30亿。OpenStack正在迅速成为私有云部署平台的选择。
OPENSTACK软件
OpenStack平台是几个项目的集合,这几个项目共同提供了管理计算机、存储以及数据中心中网络资源的能力。OpenStack还提供了一系列API和集中的仪表板来管理云资源。OpenStack被设计运行在商用硬件上。针对想要在特定的企业级硬件上运行的客户,有特定的驱动程序提供。
OpenStack遵循一个一年两次的开发及发布的周期,在春末提供一个发布,秋季第二。版本的代号按字母顺序排列,最新的发布名叫Juno (以“J”开头代表第十次发布)。目前,Kilo版本是主要开发版本,其计划在2015年四月发布。Liberty版本将随后2015年十一月份发布。
每次发布后,OpenStack社区会召集并审查新发布的云计算软件,并开始计划的下一个版本(设计峰会)。接下来的两次OpenStack峰会将在加拿大温哥华和日本东京举行。
OpenStack采用主要反复斟酌其创新能力,自动化和开放的技术这三大驱动因素来选择。IT行业显示出广泛地吸收和采纳正在与日俱增,在学术研究,电信,金融,媒体等中更是如此。OpenStack在全球许多地区被广泛采用,越来越多的OpenStack的部署从测试环境迁移到生产环境中去。
各种组织机构在OpenStack云上运行各种各样的工作负载,前两位是Web服务和QA测试。OpenStack的用户报告显示越来越多的企业应用正在部署。
OpenStack系统是服务的集合,这些服务作为集成的部分会定期一到两年左右发布。所有的OpenStack软件适用于。
OpenStack 计算服务(Compute service) (Nova)提供按需供应的和可管理的虚拟机。它支持多种类型的虚拟机包括KVM,XenServer, VMware ESXi和Microsoft Hyper-V。另外,它还支持Linux容器例如LXC。
OpenStack 存储服务(Storage service)提供两种对象存储和块存储。对象存储支持水平扩展(scale-out)和分布式非结构化的数据(distributed non-structured data);块存储为虚拟实例(虚拟机)提供虚拟存储。
对象(Object)
: OpenStack 对象存储(Object Storage)
(Swift) 提供了高性价比,可API访问,分布式,冗余,可作为水平扩展存储文档和数据备份的功能。
块(Block) : OpenStack 块存储(Block storage) (Cinder) 支持创建,附加和分离块设备到虚拟服务。它被完全集成在OpenStack计算组件中,可以通过Dashboard(管理面板)被管理,同时,通过特殊的驱动,它还支持与企业级存储平台集成,诸如Nimble,Solidfire或者 EMC。另外,它还支持卷快照功能。
OpenStack 网络服务(Networking service) (Neutron)提供一个可插拔的,由API驱动的,IP地址的网络管理平台。它提供了多种网络模式(Flat, VLAN,VXLAN),静态IP,DHCP。它通过有效的软件定义网络平台例如 OpenFlow 来获得高级网络能力。
除了计算,存储,网络三大基本组件,OpenStack 已经有很多服务,他们相互集成众多组件彼此很好地扩展系统,为用户提供一个统一的体验。
OpenStack 认证服务(Identity service)
(Keystone)提供认证及认证功能。它提供一个集中的用户目录,并映射他们到其可以访问的服务上。它还可以集成扩展后端的目录服务,例如LDAP。
OpenStack 镜像服务(Image service) (Glance)为磁盘和服务器镜像提供可API访问的发现,注册和传送服务。镜像服务可以把镜像存储在各种各样的后端,包括存储在OpenStack的对象存储Swift上。OpenStack镜像服务适配多种格式的镜像,包括Raw,VHD,VMDK和VDI。
OpenStack 监测服务(Telemetry service)
(Ceilometer) 提供OpenStack对服务间使用概况监测,性能数据监测以及警报功能。
OpenStack 编排(Orchestration service)
(Heat)提供自动化的,基于模板的基础架构部署能力。与监测服务一样,它对所选择的功能,能提供自动化伸缩的功能。
OpenStack 数据库服务(Trove) 提供了 OpenStack 云基础设施数据库即服务(DBaaS)的能力。
OpenStack 控制面板(Horizon)提供了集中化的图形用户接口来访问,提供和管理云资源。第三方服务比如计费和监控能够很容易地和 OpenStack 控制面板集成。OpenStack 服务也可以通过 API 访问。
OpenStack 数据处理服务 (Sahara) 提供了一个可伸缩的数据处理堆栈和相关的管理接口。
OpenStack 有更多能够选择与其他 OpenStack 服务集成的服务。这些项目中的一些包括应用程序目录(Murano),裸机服务 (Ironic),容器服务 (Magnum),部署服务 (TripleO),DNS即服务(Designate),密钥管理 (Barbican),消息服务 (Zaqar),共享文件系统 (Manila)等。
关于 OpenStack 架构的逻辑视图,请查阅此。
OpenStack软件目前以两种方式交付给客户:1.作为一个通常被称为‘分配’的集合包。一类特殊的分配是捆绑在一起的特定的硬件,被叫做“设备”。2.作为服务:目前,对于OpenStack来说通过分配来传递是默认的传递机制。除了像Debian和Fedora非商业的分配外,许多厂商提供专门的分配,通常添加增值服务。
OenStack分配捆绑OpenStack服务作为包来被下载;这些包可以从不同的平台获取(Ubuntu, GentOS, Debian等)。OpenStack软件是一个连续基础更新的软件,并且可以从通常称为箱子的地方下载。这些持续更新的版本是不稳定的:每年只有两个版本是稳定的。一个是可以随时下载最新的稳定版本而不是不断构建的包。
第三方分配
参与的生产商也向他们的客户提供OpenStack的分配。生产商提供了一下几个优势:增值服务、专属服务或者与其他的生产商整合。下面是一下著名的第三方分配:
1.Mirantis OpenStack: 是一个源自的OpenStack,是最大的OpenStack系统的综合商(SI)之一。他们通常被称为一个纯粹的OpenStack的厂商,这充分体现了他们作为一个供应商的哲学并且开源的特性。
2.红帽子企业的Linux OpenStack平台: 红帽子企业的Linux OpenStack平台是一个源自红帽子的安全、企业级云平台,这促使了红帽子的Linux和红帽子企业的虚拟化平台的优势。
3.惠普Helion OpenStack: HP Helion OpenStack是一个源自惠普的可升级的、安全的OpenStack分配,很多增值服务都与惠普提供的其他服务整合的很好。惠普也提供一个免费下载的操作:HP Helion OpenStack 社区版并伴有小规模的私有云支持。
4.IBM 云管理:IBMOpenStack云管理是一个IBM基于OpenStack的云管理软件。
5.其他:你会发现更多的OpenStack分配,包括Nebula,一个云控制器。Piston OpenStack,Rackspace 私有云软件,Ubuntu OpenStack等等。
作为一种服务:
很多提供商通过“作为一种服务”的传递机制来提供OpenStack云,其中OpenStack云是按需定制的而且在托管的环境下。客户获得单一的被租用OpenStack云并有一下优势:包含API接口、无部署和操作的开销。
对于那些想在一个专用的、隔离的环境下,但是不想子操作和其它基础设施上开支的客户来说,OpenStack云即服务是一个诱人的选择。
1.Blue Box:Blue Box,一个在西雅图启动的风险投资(A系列、B系列),是最早提供托管的OpenStack私有云即服务(Pcaas)的提供商之一。Blue Box在Forrester Wave:托管私有云解决方案, Q4 2014上被评为“佼佼者”.Blue Box发起了OpenStack西雅图用户会并积极地贡献于OpenStack社区,特别是围绕OpenStack的工作小组。他们最近开始提供服务,在你自己的数据中心管理的OpenStack私有云,由Blue Box专家全面管理。
2.Metacloud(被思科收购):Metacloud ,现在是思科的一部分,OpenStack云即服务的又一提供者。他们开始时提供Cloud-in-a-box还有基于OpenStack的私有云应用,并且表示将提供托管的私有云。他们的顾客OpenStack分配也同样因为他们的超用户体验(UX)而出名。
了解关于OpenStack云操作的最容易的方法是尝试基于OpenStack公共云服务提供商之一。这里是一些公共云服务提供商。你可以进一步了解 .
Rackspace公共云
Rackspace公共云是基于OpenStack公共云最大的服务提供商。Rackspace是OpenStack的共同创立者之一,也是OpenStack项目和文档的强大的贡献者。
惠普HELION公共云
惠普Helion公共云,基于OpenStack的惠普公共云服务,提供计算和存储资源。
如果你想要在本地环境开始,
你可以很容易的使用DevStack入门– 一个容易安装,一体化的配置。
DevStack 是一种简单的方法来安装最小化配置的OpenStack测试云。目前可用于Ubuntu,Fedora和CentOS/RHEL 平台。
托管OpenStack云是一种开始OpenStack的简单选择。例如,当你注册成为一个提供商,如Blue Box,你就可以让你的私有云在几个小时内启动。这个现实一个活跃资源的Blue Box账户控制面板的快照:
访问密钥/安全密钥
组合使用来访问和与一个计算实例通讯。安全密钥用于加密每次请求。
云范围内用于对虚拟机提供容错的一组隔离的虚拟层。
存储类型,目的是提供挂在到虚拟机上的持久化存储,它支持卷,卷快照和卷类型管理。
容器(对象)
在对象存储中组织和存储对象。
容器(LXC)
Linux容器是在单个Linux宿主上运行多个相互隔离的Linux系统的操作系统级别的虚拟环境。Openstack容器服务(Magnum)提供应用容器的管理功能。
固定/静态IP
相同VM(虚拟机)每次启动的时候关联的IP地址。这可用于管理VM,但用户通常不能访问它。
虚拟机镜像的一组参数,包括CPU占用率,内存大小,存储空间大小,等等。
与虚拟机实例关联的公开的IP地址,这样该实例每次启动的时候其公开的IP地址都相同。
需要用它来创建或者重建服务器的某个特定的操作系统的文件集合。Openstack支持多种镜像格式(AMI,VMDK,VHD,QEMU)
在实体之间提供第2层网络连接的虚拟网络。
对象是存储在对象存储中的任意类型的数据,它可以是任意格式的数据——文件、音乐、视频,或者二进制数据。
存储类型,它终于支持一致的、冗余的和非结构化的数据的存储。
逻辑用户组,通常也称为租户。
以项目为单位设置的计算和存储资源的限额。
一个角色拥有一个权限集。某角色的用户继承角色的所有权限。
应用于计算实例的一组过滤规则。
提供用户通过其访问和控制资源的某个Openstack服务。
存储卷或者镜像在某个时间点的拷贝。
项目/租户消费云资源的一份子。
基于磁盘的数据存储,通常表现为支持扩展属性的iSCSI设备。这种存储可能是持久的或短暂的(重启后丢失)。
快速启动命令
OpenStack也提供了一个命令行工具 (OpenStack客户端工具)来访问、提供和管理云资源。本节提供一些常见场景下如何使用OpenStack客户端工具的范例。安装客户端的时候请参考相关说明。同时,确保使用一个包含必须的凭证的openrc文件来认证。
创建和上传SSH密钥
SSH密钥用于SSH登录到Openstack启动的示例中。新启动示例的时候,Openstack有一个内置的方法将一个SSH密钥对的公开部分插入到保存已认证的密钥的文件中。计算服务可以为你创建密钥的私有部分,或者你也可以上传已经存在的密钥对的公共部分。
上传已经存在的密钥对的公共部分
$ nova keypair-add --public-key ~/.ssh/id_rsa.pub
&keypairname&
使用创建的密钥启动实例
为了启动一个实例,一组最小信息是必须的:镜像、配置和名称。大多数OpenStack环境也要提供可用的网络设备。
$ nova boot --image &image_name& --flavor &flavor_name&
--nic net-id=&network_id& --key-name &keypairname& &server_name&
你可以用下面的命令找到所需的信息,如镜像、配置和网络。
发现可用镜像
$ glance image-list
发现可用配置
$ nova flavor-list
发现可用网络
$ neutron network-list
服务器管理
列出所有实例
$ nova list
按状态列出实例
$ nova list --status build
$ nova list --status active
$ nova list --status error
设置示例元数据
实例元数据对示例排序和分类是很有用的。元数据是按每实例存储的自由形式的键值对key=value。
$ nova meta &server& set key=value [key=value]
重新构建服务器
重新构建服务器比初始化构建需要的参数少。这可能是重置状态和启动的简单方法。
$ nova rebuild &server& &image&
显示服务器日志
OpenStack具有现实日志的能力。
$ nova console-log &server&
分配浮动IP并附加到某个虚拟机上
浮动IP创建一个公开可达的IP和从它到一个已配置实例的直接连接。这个不需要真的存在于这个实例上;相反,它提供了一个类似NAT的关联。首先,必须从一个现有的浮动IP池中分配一个IP,然后将它附加到某个实例上。
发现可用的浮动IP池
$ neutron floatingip-list
分配浮动IP
nova floating-ip-create &floating ip pool&
将浮动IP与服务器实例关联
nova add-floating-ip &server& &floating-p&
安全组更新安全组
安全组类似于一群系统的防火墙。你可以提供引用其他组或者CIDR区间的访问规则。这些组可以附加到一个实例上提供对该示例的访问规则。
为SSH登录创建一个安全组
nova secgroup-create &name& &description&
创建一个入站SSH规则
nova secgroup-add-rule --proto tcp --dst-port 22 &group_name&
添加安全组到服务器实例
nova add-secgroup &server& &group_name&
镜像管理创建正在运行的服务器的镜像
服务器镜像允许创建以后可以重用的预配置的镜像。它们可以用于启动新的服务器实例,并在列出镜像的时候会显示出来。
nova image-create &server& &image&
从一个现存的镜像或者URL创建一个新的镜像。可选参数包括镜像ID、磁盘格式、项目、从那个卷创建,等等。
glance image-create –name &image&
glance image-list
glance image-delete &image&
创建一个块存储卷
快存储卷是一个非直接连接运行中实例的块设备。它可以在某个时刻附加一个实例,但是如果该实例本身出现异常或者停止运行,该块也会一直运行。 OpenStack 卷通常是指一个允许使用 easy-to-use API 来交互的 SAN 接口。
cinder create – -dislplay-name &name& &size_in_GB&
附加块存储卷到服务器实例
当块存储卷附加到服务器的时候,它可以依靠系统自动分配一个实例到新卷的设备 ID 中,当然,你也可以选择指定 ID。一旦卷被附加到服务器上,如果它是一个新的卷,那么需要在使用之前格式化。之后使用卷则不需要格式化。
nova volume-attach &server& &volume& &device&
创建一个对象存储容器
OpenStack 对象存储不是一个传统的文件系统,而是一个静态数据类的分布式存储系统,例如,虚拟设备镜像,图片存储,邮件存储,备份以及存档。它并没有中央“大脑”或主节点控制提供了更大的可伸缩性,冗余性和耐用性。事实上,对于它来说,数据代表对象,而对象存储在容器当中。
swift post &container_name&
$ swift post &container_name& &file_path&
从容器下载对象
swift download &container_name& &object_name&
身份和访问控制
云管理员可以仅用一个用户创建新用户。可选参数包括项目ID、email和密码。
keystone user-create &name&
可以列出所有用户,可以选择用具体的项目过滤(用项目名称或者ID过滤)。
keystone user-list [--tenant &tenant&]
keystone user-delete &name&
keystone role-create &name&
$ keystone role-delete &role&
$ keystone role-list
添加角色到租户
$ keystone user-role-add --user
--role &role&
[--tenant &tenant&]
$ keystone tenant-create &name&
$ keystone tenant-list
设置租户属性
$ keystone tenant-update –property
$ keystone tenant-delete &tenant&
配额可以在项目或者基于类设置来限制资源的消费,例如内存大小、IP地址、内核数量、存储卷大小,等等。
$ nova quota-update – - properties
OpenStack可以强制资源消费配额。这个命令需要项目名称参数;项目是租户的新名称。
$ nova quota-show &tenant&
显示可用性区域列表
OpenStack 支持可用性区域,提供允许服务的逻辑分离或集群。这些都是能源接入性或者地理位置的原因。启动新的实例时可以选择一个区域。
$ nova availability-zone-list
工具和生态系统
OpenStack 消费者有很多选择,可以从服务提供商,供应商,系统集成商,分配,培训员,顾问等等选择。为了帮他们做出明智的决定,OpenStack 提供了一个信息和评论的中央存储仓库。它也允许搜索根据你所选择的区域/位置。
在你的数据中心,OpenStack 提供两种方式去管理你的计算,存储和网络资源:管理界面(Dashboard)和服务端点(Service Endpoint)。OpenStack 服务端点(Service Endpoint)是通过程序访问接口()暴露在外面的。通过任何REST客户端可以访问这些 API,例如客户端工具的有效性被作为 OpenStack 工程的一部分。SDK 的这些 API 在各种不同的程序语言中也是能有效工作的。
OpenStack 客户端工具
OpenStack 为各种不同的工程,包括计算,对象存储,认证,网络,数据库,镜像服务提供官方客户端,与此同时,还为其他开发中的工程提供客户端。
OpenStack 的 SDK
官方的 OpenStack SDK 是基于 Python 的,非官方的 SDK 包括有 Node.js,Go, Java, Ruby, PHP, .NET 等等。
在真实的云部署上,使用大量的开源工具是不可避免的。这里有一些广泛与 OpenStack 一起使用的工具。注意,一些专有的 OpenStack 分布可能不需要这些工具,因为他们往往涵盖了定制化的等价工具。
ORCHESTRATION
尽管 OpenStack 包括 Orchestration 服务(热),许多部署采用流行的 orchestration 工具,例如,Chef,Puppet 和 Ansible。一些部署也采用自行研发的工具。
Chef: Chef 是一款流行的配置管理工具,源于Chef(原名Opscode),被广泛用于OpenStack 部署。有许多官方的 cookbooks(食谱)可让你开始使用 Chef 部署 OpenStack。
Puppet: Puppet 是另一款流行的配置管理工具,源于 PuppetLabs。一个可以使用用于部署大规模 OpenStack 云的官方 Puppet 模块。
Ansible: Ansible 软件是一款无代理的配置管理工具,源于 Ansible。尽管官方的 Ansible 手册不是用于 OpenStack,但依然可以使用这些手册入门。
操作大型Openstack云需要对不同的组件进行稳定的监测,不论是计算资源,虚拟机,或者虚拟网络,都需要监测它们的健康状况。这样的监控也提升了监控的主动性,例如,当一个计算节点试图访问特定的CPU利用率。OpenStack提供监控服务,它提供了基于事件的可监控的基础架构;不过,它还没有提供完整的监控能力。因此,OpenStack云部署通常利用开源的例如Nagios。
提供高级的日志管理功能,可以使用开源工具LogStash。LogStash为日志记录,解析和存储日志提供一个集中化处理功能。当搜索工具(诸如ElasticSearch)在conjunction中被使用的时候,给你的OpenStack云提供了一个强有力和可扩展的日志管理解决方案。
部署 OpenStack 涉及提供裸机服务器作为控制器结点或者资源资源。Chef、Puppet、Ubuntu Maas和 Crowbar 都是流行的供应工具。OpenStack 裸机供应也是一个选择。
OpenStack 的最大优势就是它的活跃的社区。来自超过140个国家的超过18000位贡献者共同组成了这个社区,而且还有超过70个遍及全球的用户组。这些用户组定期聚会,而且在会场传递分享意识、科技讨论、以及展示友好。如果你是 OpenStack 的新用户,你可以从其他的用户那里很容易地学到东西。
一些最大的用户组是 SFBay OpenStack 用户组、印度 OpenStack 用户组和中国 OpenStack 用户组。为了学习他人的经验,要找离你最近的用户组或者选择一个属于你的地域。
OpenStack项目为系统管理员、云管理员、最终用户、架构师、操作员及云开发人员提供了大量文档。有针对不同操作系统的手册(Ubuntu, RHEL, Debian和 SUSE),其中包含了常用的配置及每一个发布版本的更新。文档中安全及高可用性等内容会定期更新,而不以按OpenStack的发布版本来更新。
Ask OpenStack 支持中心
如果对OpenStack有一些细节上的问题,可以到Ask OpenStack咨询,这是一个以流行的StackOverflow为模型的众筹式的Q&A网站。
OpenStack WIKI
OpenStack的开发人员使用一个内部的wiki讨论项目细节。并不建议最终用户使用。
大量纵向市场的多个用户使用OpenStack。这里有最流行最成功的用例
云服务提供者
在这一用例中,OpenStack 平台被用来提供一个巨大范围的虚拟架构(计算和存储)服务(虚拟架构即服务)。一个典型的栈包括诸如 KVM(虚拟机),Ubuntu(操作系统), OpenStack (云管理层),Nagios (监控),LogStash (日志),Kibana (分析),Chef (编排),HAProxy ()这些开源工具。尽管这些商品化硬件常被用来提供计算和各种特定的存储,各种硬件配置的部署取决于所提供服务的需要。Rackspace 公有云是这种典型的案例。
电信服务提供商
电信服务商是早期 OpenStack 的采用者,缘于他们对私有云的需求。典型的使用案例是“IT 即服务”,他们不是内部组织就是合作伙伴。对不同的供应商提供相应的工作负载和应用程序。OpenStack社区正在努力开发电信领域特殊的高级功能(诸如:NFV)。
在这些电信公司之中,据报道爱立信正在与 Mirantis 开发一个用例。
一个广泛适用的OpenStack用例是在开发/测试云上进行持续集成(Continuous Integration)/持续开发(Continuous Development)(CI/CD)。除了支持业务上的敏捷性,例如:开发/测试云的工作负载增加了客户对在OpenStack云上运行LOB应用的信心。应用和工作负载运行在云上,取决于客户,但是这通常涉及源代码仓库(以Git为例),测试框架(Jenkins),bug数据库(Atlassian),部署工具,还有更多。
Sriram Subramanian
Sriram Subramanian是CloudDon LLC的创立者和主要的云计算专家,这家公司是一家云服务公司,提供搜索,分析和系统集成服务。作为一个流行的云影响力者和Helion HP MVP,他在他的博客和其他流行门户中提供了深刻的见解。他在OpenStack峰会和当地聚会上频繁地提及挑战以及采用OpenStack的最佳实践。他过去的工作经验包含在ComputeNext,Microsoft, Intel和Hitachi这些公司从事大量的技术工作,类似云计算,虚拟化,编译和低功耗设计。
在文章中找不到问题答案?您还可以
热门栏目订阅

我要回帖

更多关于 什么配置可以玩gta5 的文章

 

随机推荐