OpenStack101ZhenzanZHOU2日程安排•云计算•从云之巅看OpenStack•走进OpenStack•部署OpenStack•云中漫步•Q&A3热身一下-你用过哪些云服务/云应用?它们有什么特点?-哪些公司是云计算公司?-SDX?XaaS?X=?-云计算有哪些特征-云计算有哪些核心技术关于云计算的12种说法云计算就是基于互联网的计算云计算用于描述基于因特网的分布式计算及其相关应用云是一组数量众多的互联到一起的计算机,可以是公共的或私有的。云计算就是将以前那些需要大量软硬件投资以及专业技术能力的应用,以基于Web服务的方式提供给用户。云计算就是用户根据资源实际使用量来付费的IT信息系统云计算是虚拟化、网格计算、分布式计算、公共计算、WEB2.0、SaaS等众多新技术的融合云计算就是SaaS的升级版云计算是用户友好的网格计算。云计算是分布式计算、并行计算和网格计算的发展只有三种服务是基于“云”的,SaaS,PaaS和云计算平台云计算就是新的Web2.0云是一个庞大的资源池,你按需购买;云是虚拟化的;云可以象自来水,电,煤气那样计费。5本质特征6部署模式7服务模式8核心技术•虚拟化管理程序Hypversior•KVM,Xen,ESX,HyperV,VBox•虚拟化管理接口•Libvirt,XenAPI,vCenterAPI,HyperVWMIAPI•RESTfulAPI•消息队列服务•分布式存储•容器技术(LXC)•Docker,Rocket•网络虚拟化•Openvswitch,netns,SDN,NFV9开源云项目1011从云之巅看OpenStack12OpenStacksoftwarecontrolslargepoolsofcompute,storage,andnetworkingresourcesthroughoutadatacenter,managedthroughadashboardorviatheOpenStackAPI.OpenStackworkswithpopularenterpriseandopensourcetechnologiesmakingitidealforheterogeneousinfrastructure.13山寨AWS?Cloud时代的LinuxThinkaboutOpenStackasanagnosticintegrationengineMarkCollier,COO,OpenStackFoundationKeyword:OPENOpenStackisopensource,openlydesigned,openlydevelopedbyanopencommunity1415OpenStackProjects16OpenStack项目ServiceProjectnameDescriptionDashboardHorizon提供一个基于WEB的自助服务接口,用来与openstack服务交互。例如生成实例、分配IP地址和配置接入控制等ComputeNova管理计算实例的生命周期。功能主要是按需生成、调度、停止虚拟机。NetworkingNeutron提供网络连接服务给其它的组件,例如给compute提供网络服务;提供API让用户自己定义网络并使用;嵌入式的架构能够支持多个网络设备商的产品及技术StorageObjectStorageSwift通过RESTful、HTTP格式API存储和检索任意非结构化的数据对象。有高容错能力,并非一个文件系统BlockStorageCinder提供永久的块存储给运行中的实例。可嵌入式驱动架构,支持创建和管理块存储设备SharedservicesIdentityserviceKeystone给其它服务提供认证和授权服务ImageServiceGlance存储虚拟机磁盘镜象,生成实例时调用Glance中的镜像文件TelemetryCeilometer监控和计量云使用情况,包括计费、配额、可扩充性和统计Higher-levelservicesOrchestrationHeat通过API使用HOT模板或者AWSCloudFormation模板部署多组件云应用DatabaseServiceTrove提供高可靠、可扩充的DBaaS功能,支持关系型、非关系型数据引擎17ServiceProjectNameDescriptionBareMetalIronic提供裸金属基础设施服务DataProcessingSahara在OpenStack上部署Hadoop大数据处理CloudPolicyCongress提供针对cloud运行状态的与具体业务模块独立的基于policy的检查和响应ApplicationCatalogMuranoPush-the-Button模式部署Cloud-ready应用程序ContainerServiceMagnum提供在Openstack中创建基于容器编排引擎快速创建容器集群的服务,支持Docker和Kubernetes18OpenStack项目发展流程PTLCoreReviewerCodeCommitterDevOps/Ops19OpenStack的热度130+企业1500+开发者MillionsLOC20版本发布21生态圈222324走进OpenStack25Compute-Nova26NovaComputeXCPVMVMVMWarelibvirtKVMVMVMXenVMVMQemuVMVMLXCContainerContainerAllowsmultiplehypervisortypespercloud.Libvirt/KVMismostcommonlyusedindeploymentMaintainedbyMicrosoftBareMetalDockerContainerContainerXenAPINativesupportsinceIceHousePXEMaintainedbyCitrixHyperVVMVMESXiVMVMvSphereVMVM27Storage-Cinder主要为虚拟机提供持久化的块存储功能,支持块的创建、挂载卸载、快照(Snapshot)等生命周期管理,后端可以是DAS、NAS、SAN、对象存储以及分布式文件系统CinderCinderDBQueueCinderVolumeBackendStorageDevicesSchedulerCinderAPICinderCLINovaHorizonHTTPAMQPSQL3rd-partyCinderBackupObjectStorage28Storage-Glance主要提供虚拟机镜像的管理,本身不管理存储。存储后端可以是本地文件系统,Cinder/Swift等,或者Ceph,Sheepdog,Glusterfs等分布式文件系统GlanceAPIGlanceCLINovaHorizonGlanceHTTPAMQPSQL3rd-partyGlanceRegistryGlanceDBStoreAdapterSwiftCinderFileSystemAmazonS3HTTPGridFSSheepdogCeph(RBD)29Storage-SwiftStorageNodes主要提供对象存储功能适合存放静态或冷数据适合搭建网盘等后端可以是基于普通服务器30Network-NeutronNeutron提供了一个L3(三层)的虚拟Router与一个L2(二层)的虚拟Network,Router对应于真实的路由器,为用户提供路由、NAT等服务,network则对应于一个二层的物理网络LAN,从租户的的角度看,它为租户所私有。3132Identify-KeystoneKeystone主要提供了Identity(认证)、Token(令牌)、Catalog(目录)和Policy(安全策略,或者说访问控制)四个方面的服务33部署OpenStack34DevStackdevstack是一套用来给开发人员快速部署OpenStack开发环境的脚本,它并不适用于生产环境。35TripleOTripleO全称OpenStackOnOpenStack,可以简单理解为利用OpenStack来部署OpenStack。包括undercloud和overcloud。先利用V2P来准备OpenStack相关节点的镜像,然后利用基本的undercloud的裸机服务(BareMetal,也就是Ironic项目)去部署裸机,最后通过Heat项目在裸机上配置运行真正所需的Overcloud。Diskimage-builderGlanceHeatBMMachineIronicOSConfig36Heat-Stack-Template37一个TripleO部署的cloud实例38其他的配置管理工具39FuelFuelisanopensourcedeploymentandmanagementtoolforOpenStack.://漫步OpenStack42一些核心概念Tenant,User,RoleImage,VolumeRegion,AvailabilityZone,Host,hypervisor,scheduler,server,flavor,migrationNetwork,subnet,port,fixedip,floatingip,securitygroup43LiveDemo-Dashboard44OpenStackCLI各个project有自己的CLINova,neutron,glance…趋势:统一的CLIopenstack--help