Openstack⾯试题和知识点总结
⽂章⽬录
知识点
云计算
起源
云计算这个概念⾸次在2006年8⽉的搜索引擎会议上提出,成为了继互联⽹、计算机后信息时代的⼜⼀种⾰新(互联⽹第三次⾰命)。
云计算的核⼼是将资源协调在⼀起,使⽤户通过⽹络就可以获取到⽆限的资源并且不受时间和空间的限制,为⽤户提供⼀种全新的体验。
定义
云计算是⼀种按使⽤量付费的模式(资源服务模式),该模式可以实现随时随地、便捷按需的从可配置资源共享池中获取所需的资源。云计算是基于互联⽹的相关服务的增加、使⽤和交付模式,通常涉及通过互联⽹来提供动态易扩展且经常是虚拟化的资源。
特点
1. 按需部署:根据⽤户的需求快速配备计算能⼒及资源分配。
2. 资源池化:供应商的资源被池化,以多⽤户租⽤模式被不同客户使⽤。
3. 快速伸缩:资源可以弹性的部署和释放。
4. 可靠性⾼:倘若服务器故障也不影响计算与应⽤的正常运⾏。
分类
私有云:云计算基础设施由⼀个单⼀的组织部署和使⽤。
公有云:云计算基础设施被部署给⼴泛的公众公开使⽤。
混合云:使⽤标准或专有的技术组合以上两种云。
服务类型
IaaS(基础设施即服务):提供商提供虚拟化计算资源,如虚拟机、存储、⽹络和操作系统。
PaaS(平台即服务):通过互联⽹为开发⼈员提供构建应⽤程序和服务的平台。
springboot 文档SaaS(软件即服务):通过互联⽹为⽤户提供按需软件付费应⽤程序。
平台分类mysql面试题基础知识
1)从技术应⽤划分
1. 以数据存储为主的存储型云平台
2. 以数据处理为主的计算型云平台
3. 计算和存储兼顾的综合型云平台
2) 从是否收费划分
开源云平台:AbiCloud、Hadoop、Eucalyptus、MongoDB、OpenStack
商业化云平台:Google、IBM、Oracle、Amazon、阿⾥云等
应⽤
1. 存储云:云存储是⼀个以数据存储和管理为核⼼的云计算系统。⽤户可以将本地的资源上传⾄云端上,可以在任何地⽅连⼊互联
⽹来获取云上的资源。
2. 医疗云:使⽤云计算来创建医疗健康服务云平台,实现了医疗资源的共享和医疗范围的扩⼤
3. ⾦融云:利⽤云计算的模型,将信息、⾦融和服务等功能分散到庞⼤分⽀机构构成的互联⽹“云”中,共享互联⽹资源,从⽽解
决现有问题并且达到⾼效、低成本的⽬标。
4. 教育云:教育云可以将所需要的任何教育硬件资源虚拟化,然后将其传⼊互联⽹中,以向教育机构和学⽣⽼师提供⼀个⽅便快捷
的平台。
并非所有变量都已绑定怎么解决 定时任务
虚拟化
虚拟化技术
定义
虚拟化是⼀个⼴义上的术语,是指计算元件在虚拟的基础上⽽不是真实的基础上运⾏,是⼀个为了简化管理,优化资源的解决⽅案。
分类图书馆借阅管理数据库
1. 桌⾯虚拟化:在本地计算机显⽰和操作远程计算机桌⾯,在远程计算机执⾏程序和储存信息。
2. 应⽤虚拟化:在操作系统和应⽤程序间建⽴虚拟环境。
3. 服务器虚拟化:将服务器物理资源抽象成逻辑资源形成动态管理的“资源池”。
4. ⽹络虚拟化:将不同⽹络的硬件和软件资源结合成⼀个虚拟的整体。
5. 存储虚拟化:将实体存储空间分隔成不同的逻辑存储空间。
云计算和虚拟化的关系
虚拟化的优点
1. 提⾼IT资源利⽤率,加速应⽤部署,提⾼应⽤兼容性。
2. 显著减少了服务器的数量,企业不动资产和管理成本。
OpenStack
简介
定义
百度百科:OpenStack是⼀个开源的云计算管理平台项⽬,由NASA(美国国家航空航天局)和Rackspace合作研发并发起,以Apache许可证授权的开源代码项⽬。
官⽅:OpenStack是⼀个云操作系统,通过数据中⼼可控制⼤型的计算、存储、⽹络等资源池。所有的管理通过前端界⾯管理员就可以完成,同样也可以通过web接⼝让最终⽤户部署资源。
在线编程源码
核⼼架构
1. 物理架构图
2. 逻辑架构图
3. 概念架构图
Openstack组件
共享服务组件
1. 数据库服务(database service):Mariadb及Mongodb。
2. 消息传输(Message Queues)::RabbitMQ
3. 缓存(cache):Memcached
4. 时间同步(time sync):ntp
5. 存储(storge provider):ceph,GFS,LVM,ISICI等
6. ⾼可⽤及负载均衡:pacemaker,HAproxy,keepalived,lvs
核⼼组件
组件详解
RabbitMQ
概念
属于⼀个流⾏的开源消息队列系统。属于AMQP( ⾼级消息队列协议 ) 标准的⼀个 实现。是应⽤层协议的⼀个开放标准,为⾯向消息的中间件设计。⽤于在分布式系统中存储转发消息,在 易⽤性、扩展性、⾼可⽤性等⽅⾯表现不俗。
特点
1. 开源,性能优秀,稳定性保障。
2. 提供可靠性消息投递模式、返回模式和HA模式、表达式配置及镜像队列模型
3. 集模式丰富,语Spring AMQP完美整合,保证数据不丢失的前提做到⾼可靠性和可⽤性
rabbitmq中的概念
Broker:简单来说就是消息队列服务器实体。
Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。
Queue:消息队列载体,每个消息都会被投⼊到⼀个或多个队列。
Binding:绑定,它的作⽤就是把exchange和queue按照路由规则绑定起来。
Routing Key:路由关键字, exchange根据这个关键字进⾏消息投递。
vhost:虚拟主机,⼀个broker⾥可以开设多个vhost,⽤作不同⽤户的权限分离。
producer:消息⽣产者,就是投递消息的程序。
consumer:消息消费者,就是接受消息的程序
channel:消息通道,在客户端的每个连接⾥,可建⽴多个channel,每个
channel代表⼀个会话任务。
⼯作原理
( 1)客户端连接到消息队列服务器,打开⼀个channel。
( 2)客户端声明⼀个exchange,并设置相关属性。
( 3)客户端声明⼀个queue,并设置相关属性。
( 4)客户端使⽤routing key,在exchange和queue之间建⽴好绑定关系。
( 5)客户端投递消息到exchange。
( 6) exchange接收到消息后,就根据消息的key和已经设置的binding,进⾏消息路由,将消息投递到⼀个或多个队列⾥。
rabbitmq集部署: 注意必须⾄少要有⼀个disk node
常⽤操作
Memcached
1. 概念:Memcached 是⼀个开源的、⾼性能的分布式内存对象缓存系统。通过在内存中缓存数据和对象来减少读取数据库的次数,从
⽽提⾼⽹站访问速度,加速动态WEB应⽤、减轻数据库负载。
2. 缓存流程
Keystone
1.概念:
⽤于为OpenStack家族中的其它组件成员提供统⼀的认证服务,包括⾝份验证、令牌的发放和校验、服务列表、⽤户权限的定义等。云环境中所有的服务之间的授权和认证都需要经过 keystone.
(1)管理⽤户及其权限;
(2)维护 OpenStack Services 的 Endpoint;
(3)Authentication(认证)和 Authorization(鉴权)
作⽤:认证服务,提供了其余所有组件的认证信息/令牌的管理,创建,修改等等,使⽤MySQL作为统⼀的数据库。
java重定向设置header
2.keystone中概念:
(1).user:指代任何使⽤open stack的实体,可以是真正的⽤户,其他系统或服务;
(2).Credentials:是user⽤来证明⾃⼰⾝份的信息,可以是1. ⽤户名/密码;2.Token;3. API Key;4. 其他⾼级⽅式.
(3). Authentication:是 Keystone 验证 User ⾝份的过程。User 访问 OpenStack时向 Keystone 提交⽤户名和密码形式的Credential,Keystone 验证通过后会给 User 签发⼀个 Token 作为后续访问的 Credential。
(4).Token: Token 是由数字和字母组成的字符串,user成功Authentication后成Token并分配给user。Token⽤作访问Service的Credential;Service会通过Keystone验证Token的有限性;Token的有效期默认24⼩时。
(5).Project:⽤于将open stack的资源进⾏分组和隔离。根据openstack的服务对象不同,project可以是⼀个客户,部门或者项⽬组。
(6).Service:包括nova,glance,cinder,neutron等,每个service会提供若⼲个Endpoint,user通过Endpoint访问资源和执⾏操作。
(7).Endpoint:是⼀个⽹络上可访问的地址,通常是⼀个URL。Service通过Endpoint暴露⾃⼰的API,Keystone负责管路和维护每个service的Endpoint.
(8).Role:可以为user分配⼀个或多个Role,Service决定每个role能做什么事,系统基本⾓⾊有两个:管理员admin和租户_member_
3.Keystone基本框架
Token: ⽤来⽣成和管理token
Catalog: ⽤来存储和管理service/endpoint
Identity: ⽤来管理tenant/user/role和验证
Policy: ⽤来管理访问权限
4.通过’查询可⽤image’这个实际操作让⼤家更加清晰keystone的⼯作过程及原理:
第⼀步:登⼊。
⽤户admin拿着credential请求登⼊,Authentication认证通过,并给admin⽤户⼀个token;
第⼆步:显⽰操作界⾯。
进⼊操作界⾯后,这时admin需要访问image服务。在访问image前发⽣了:admin询问keystone询问到了能访问admin和demo两个project,同时可以访问instance,Volume,glance等服务。因为这时admin已经从keystone拿到了service的Endpoints.
第三步:显⽰image列表。
Admin要查看project admin中的image,先是把将请求发送到Glance的Endpoint,Glance向keystone询问admin⾝份是否有效,接下来Glance会查看/etc/glance/policy.json判断admin是否有查看image的权限。权限判定后,Glance将image列表发给admin。
5.keystone主要有两个⽇志:keystone.log和keystone_access.log,保存在/var/log/apache2/⽬录⾥
6.集搭建图

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。