深入理解 OpenStack

OpenStack项目简介

Openstack项目是一个开源的云操作系统,由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证(Apache软件基金会发布的一个自由软件许可证)授权的开源代码项目。
Openstack支持公有云、私有云、NFV等云计算服务模式,提供计算、存储、网络等基础资源服务,服务的边界随着技术的发展不断拓展,截至2021年已支持数据库、集群管理、负载均衡、容器、裸金属等拓展服务,最新服务清单可进入openstack官网实时学习。
OpenStack平台支持用户通过OpenStack SDK或者Web UI界面进行操作和部署,OpenStack各个服务之间通过统一的REST API进行相互调用。
Openstack项目经过多年的发展,目前已支持虚拟机、容器、裸金属等多种虚拟化资源,底层虚拟化平台兼容KVM,XEN,HyperV,VMware ESXI等平台;同时也支持部署第三方服务,例如Kubernetes,CloudFoundry。

OpenStack和虚拟化的区别:openstack是管理平台,虚拟化是openstack底层实现技术之一。

Openstack官网:https://www.openstack.org/

在这里插入图片描述


Openstack架构及核心服务简介

OpenStack架构介绍

OpenStack项目经过了近10年的发展,通过采用服务化的设计模式,OpenStack项目已经包含了几十个小项目,整体上看,项目包含了核心服务和扩展服务。
核心服务包括:共享服务(keystone,placement,glance,barbican)、计算服务(nova,zun)、网络服务(neutron,Octavia,designate)、存储服务(cinder,swift,Manila)、Web前端界面(horizon),硬件服务(ironic,cyborg)、编排服务(heat,mistral,aodh)、应用生命周期管理(murano,freezer)、API接口(EC2API)等服务组成.
扩展服务包括:运维工具(ceilometer,watcher,cloudkitty,tempest),客户端工具(openstack client,python SDK),服务整合(Kuryr,tacker),生命周期管理(openstack-ansible,Puppet)

Openstack全景图
共享服务:
Keystone,Openstack身份认证服务,提供客户端API认证授权,服务目录,分布式多租户鉴权,支持LDAP,OAuth,OpenID,SAML,SQL等认证鉴权方式。
Glance,Openstack镜像服务,提供虚机镜像发现,注册,检索功能,glance镜像服务通过RESTful API接口查询VM镜像的元数据去检索镜像实际的存储位置,VM镜像通过Glance服务存储在对象存储、文件存储等位置上。
Placement,Openstack资源管理服务,管理云资源的容量和租户资源的分配。
Barbican,密钥管理服务,提供安全存储,管理密码,加密密钥等安全数据管理。

计算服务:
Nova,支持创建虚机、裸金属(配合ironic)、容器(有限支持)等计算实例,同时能够实现计算实例的创建、删除、停止、重启、重置等全生命周期管理。Nova服务需要配合keystone,glance,neutron,placement服务运行。
Zun,容器服务,支持容器的管理和发布。

存储服务:
Cinder,Openstack的块存储服务,通过虚拟化技术管理块存储设备,并通过API给计算实例存储资源。
Swift,Openstack对象存储服务,提供分布式、高可用、一致性的对象/blob存储,用户可以使用swift服务去存储大量的数据,同时具有弹性拓展、安全性、成本低的优点。Swift服务是存储无限增长非结构化数据的理想选择。
Manila,提供弹性文件服务,例如NAS服务。

网络服务
Neutron,Openstack网络服务,通过SDN技术提供虚拟网络服务,包括VPC,安全组,云防火墙等网络服务。
Octavia,提供负载均衡服务,将访问流量自动分发到多台云服务器,扩展应用系统对外的服务能力,实现更高水平的应用容错 ;
Designate,DNS云解析服务,提供高可用,高扩展的DNS服务和DNS管理服务,把人们常用的域名或应用资源转换成用于计算机连接的IP地址,从而将最终用户路由到相应的应用资源上 。

硬件生命周期管理服务
Ironic,裸金属服务,专属的云上物理服务器,为数据库、大数据、容器、高性能计算、AI等企业关键业务提供高性能、高安全性、灵活性和弹性的服务器服务。


OpenStack服务交互示例-创建VM

一台虚拟机由CPU、内存、存储、操作系统组成,在OpenStack中有nova提供CPU和内存服务,由cinder提供块存储服务,由swift提供对象存储服务,由glance提供镜像服务,有neutron提供网络服务。交互示例如下图:
在这里插入图片描述

OpenStack–keystone

OpenStack–placement

OpenStack–Nova

Nova,首次出现在openstack的“Austin”版本中,提供大规模、可扩展、按需自助服务的计算资源,支持裸机、虚拟机和容器,依赖keystone的认证服务,neutron的网络服务,glance的镜像服务。
nova架构图如下:
在这里插入图片描述nova-api:接收rest消息,包括HTTP请求,服务间通信
nova-scheule:选择合适的主机
nova-conductor:数据库操作和复杂流程控制
nova-compute:虚拟机生命周期管理和资源管理,负责处理虚机和hypervisor间的通信
db:sql数据库存储nova相关的业务数据

nova运行架构:
在这里插入图片描述nova服务各组件可分布式部署,且可通过virtDriver对接不同的虚拟化平台。

nova资源池管理架构:
在这里插入图片描述nova资源池可分为region(物理区域),availability zone(可用区),host aggregate(主机组)三大部分,且Region > Availability Zone > Host Aggregate。
以阿里云为例,华东-杭州节点有11个可用区,每个可用区的物理主机可按照规格、用途不同划分不同主机组。

OpenStack–cinder

OpenStack–swift

OpenStack–neutron

OpenStack–herizon

OpenStack–heat

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值