====================================================================================================================================== OpenStack基础原理 1、OpenStack是一个美国宇航局和Rackspace合作研发的云计算软件,以Apache授权条款授权,并且是一个自由软件和开放源代码项目。以 Python编程语言编写。 2、 OpenStack是一个IaaS模型的云计算解决方案。CloudStack也是Apache软件基金会社区的云计算解决方案。Paas:Docker、Openshift。 OpenStack可以构建成公有云和私有云的模型。OpenStack是一个相对来说重量级的虚拟化解决方案。 3、基本原理 将众多物理节点组织起来,在之上添加一个抽象中间层,将每一个物理节点的资源集中起来,例如集中成一个CPU资源池、内存资源池、 存储池、网络资源池。 4、实际解决方案中,云所使用的存储是分布式的存储,突破许多个实例带来的巨大磁盘IO。使用单独的数据库节点存储云中的实例的配置信息。 5、为了多个实例同时异步启动,还需要一个队列服务组件。 6、OpenStack 系统由多个服务组件组成,可根据实际情况进行安装。这些组件包括 计算、身份认证、Web界面、存储、数据库存储等。 7、核心组件 Compute Networking Storage:磁盘映像文件存储的位置 OpenStack在此三个核心组件之上提供了RESTful风格的API,开发人员可根据此API开发适合自己使用场景的组件从而调用OpenStack的核心组件, OpenStack也提供了一个现成的叫Dashboard的Web GUI接口。 ====================================================================================================================================== Identity Service 介绍 1、相关概念 domain:身份服务API v3实体。 域是定义用于管理标识实体的管理界限的项目和用户的集合。域可以代表个人,公司或运营商拥有的空间。 他们直 接向系统用户公开管理活动。用户可以被授予域的管理员角色。 域管理员可以在域中创建项目,用户和组,并将角色分配给域中的用户和组。 User:使用OpenStack的用户,此用户可以是人、服务、系统。用户可以直接分配给特定的项目,并像其包含在该项目中那样工作。 Project:一个人或资源或服务或系统所有的所有资源的集合。在一个Project(Tenant)中可以包含多个User,每一个User都会根据权限的划分来 使用Project(Tenant)中的资源。比如通过Nova创建虚拟机时要指定到某个Project中,在Cinder创建卷也要指定到某个Project中。 User访问Project的资源前,必须要与该Project关联,并且指定User在Project下的Role。 Role:划分权限。给某个User指定Role,使得User获得Role对应权限。 Service:例如Nova、Swift、Glance、Cinder Endpoint:端点。指一个可以于用来访问某个具体服务的网络地址。一个端点即URL具有三种权限:Public、Internal、Admin 2、介绍 Identity Service 是OpenStack早期版本中就独立出来的一个核心项目。它类似于一个服务总线,其他很多Service都需要通过向Keystone来注册 其服务的Endpoint(服务访问端点或URL)。 V3 API的一个重要改变是在V2的基础上引入的域Dominans以及用户组Groups的概念。 一个域中可以包含多个项目。一个域的管理员没有权限对其他域进行管理。 V3 版本的keystone是作为Apache的一个模块启动的,WSGI是Python语言定义Web应用服务器或者框架之间的一种简单接口,通过Apache访问到 keystone的WSGI应用。 =================================================================================================================================== Image Service 介绍 1、用于在OpenStack中注册、发现及获取VM映像文件。Image Service也是RestFUL风格的API,通过HTTP请求获取VM映像文件。Image Service中只是 存储映像文件的元数据,而映像文件本身可以存储在 本地文件系统、对象存储Swift等。 =================================================================================================================================== Messaging service 介绍 1、RESTful API, =================================================================================================================================== Comput Service 介绍