技术分享
openstack理解总结
2021-06-08
本文为网上文章总结,理解
OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。( 4个项目主要负责处理核心云计算服务,包括计算、网络、存储、身份和镜像服务。同时还有另外十多个可选项目。)
Nova 是一个完整的 OpenStack 计算资源管理和访问工具,负责处理规划、创建和删除操作。
Neutron 能够连接其他 OpenStack 服务并连接网络。
Keystone 认证所有 OpenStack 服务并对其进行授权。同时,它也是所有服务的端点目录。
Glance 从多个地点存储和检索虚拟机磁盘镜像。
Keystone
Keystone 认证所有 OpenStack 服务并对其进行授权。同时,它也是所有服务的端点目录。
两个功能:
(1)用户管理:验证用户身份信息合法性
(2)服务目录管理:提供各个服务目录的服务,无论任何服务或者客户访问openstack都要访问keystone获取服务列表,以及每个服务的端点目录。
user:User即用户,指的是使用openstack service的用户,可以是人,服务,系统,就是说只要是访问openstack service 的对象都可以称为User。
Credentials:是用于确认用户身份的凭证。用户名和密码、用户名跟API Kye(秘钥)、一个keystone分配的身份的token。
Token
(1):是一串数字字符串,当用户访问资源时需要使用的东西,在keystone中主要是引入令牌机制来保护用户对资源的访问,随机加密产生一串数字,对令牌加以保护。
(2):token并不是长久有效的,是有时效性的,在有效的时间内可以访问资源。
Endpoint:
(1):用来通过访问和定位某个openstack 组件的地址,通常是一个URL
(2):不同的region有不同的Endpoint(region使用与跨地域的云服务,比如像阿里云有华北,华东等等,)
(3):任何服务都访问openstack service中的资源时,都要访问keystone
(4):Endpoint分为三类:
1.admin url —>管理员用户使用 Port:35357
2.internal url —>openstack内部组件间互相通信 Port:5000
3.public url —> 其他用户访问地址 Port:5000
glance
是一个提供虚拟机镜像的集中式仓库。
在Glane里镜像被当做模板来存储,用于启动新实例。
Glance是一个可以组织和管理大量虚拟磁盘镜像的独立服务。
它还可以从正在运行的实例建立快照用于备份虚拟机的状态。
Glance组件主要由glance-api和glance-registry两个服务组成。
glance-api是进入Glance的入口,负责接收用户的请求,然后通过后台的Swift等存储系统完成镜像的存储与获取。
glance-registry会解析请求的内容,并与数据库进行交互,存取或更新镜像的元数据,这里的元数据是指保存在数据库中的关于镜像的一些信息。
Glance的DB模块存储的仅仅是镜像的元数据。
nova
Nova是OpenStack云中的计算组织控制器。支持OpenStack云中实例(instances)生命周期的所有活动都由Nova处理。这样使得Nova成为一个负责管理计算资源、网络、认证、所需可扩展性的平台。使用libvirt API来与被支持的Hypervisors交互。
Nova主要有API、Compute、Conductor、Scheduler四个核心服务组成,这些服务之间通过AMQP消息队列来进行通信。
API(nova-api service):nova-api service能够接收和响应Client的Compute API调用,所以API就是Client进入Nova的HTTP接口。
Compute(nova-compute service):nova-compute service是一个通过hypervisor APIs(虚拟化层API)来实现创建和终止虚拟机实例的守护进程,Compute通过和VMM的交互来运行虚拟机并管理虚拟机的生命周期。
Scheduler(nova-scheduler service):会从queue中接收一个虚拟机实例的请求,并确定该实例能够运行在哪一台Compute server中。Scheduler通过读取数据库的内容,从可用的池中选择最合适的Compute Node来创建新的虚拟机实例。
Conductor(nova-conductor):能够协调nova-compute service和database之间的交互,Conductor为数据库访问提供了一层安全保障。
Queue:是Nova 服务组件之间传递信息的中心枢纽。通常使用AMQP的RabbitMQ消息队列来实现。
neutron
能够连接其他 OpenStack 服务并连接网络。提供云计算环境下所有服务的虚拟网络功能。
1.Neutron server 接收 api 请求。
2.agent 实现请求。
3.database 保存 neutron 网络状态。
4.message queue 实现组件之间通信。
网络选项1:提供商网络
提供商网络选项主要采用第2层(桥接/交换)服务和网络VLAN划分,以最简单的方式部署OpenStack网络服务。本质上,它将虚拟网络连接到物理网络,并依靠物理网络基础设施实现第3层(路由)服务。另外,DHCP服务为实例提供IP地址信息。
网络选项2:自助服务网络
自助服务网络选项通过使用覆盖分段方法(如VXLAN)启用自助服务网络的第3层(路由)服务来增强提供商网络选项 。本质上,它使用NAT将虚拟网络路由到物理网络。此外,此选件为高级服务(如LBaaS和FWaaS)奠定了基础。
dashboard
是一个web接口,使得云平台管理员以及用户可以管理不同的Openstack资源以及服务。
placement
该服务提供了一个HTTP API来管理不同类资源(如磁盘或虚拟cpus)的库存,这些资源由称为资源提供者的实体提供。通过配置API提供的信息旨在更有效地计算OpenStack部署中的资源,并更好地调度云中的各种实体。
Cinder,Swift
Cinder:块存储服务,提供相应的块存储,简单来说,就是虚拟出一块磁盘,可以挂载到相应的虚拟机之上,不受文件系统等因素影响,对虚拟机来说,这个操作就像是新加了一块硬盘,可以完成对磁盘的任何操作,包括挂载,卸载,格式化,转换文件系统等等操作,大多应用于虚拟机空间不足的情况下的空间扩容等等。
Swift:对象存储服务,提供相应的对象存储,简单来说,就是虚拟出一块磁盘空间,可以在这个空间当中存放文件,也仅仅只能存放文件,不能进行格式化,转换文件系统,大多应用于云磁盘/文件。
- 标签:
-
网络安全