OpenStack七大组件解析

这篇具有很好参考价值的文章主要介绍了OpenStack七大组件解析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

b站视频链接:0-尚硅谷-Linux云计算- 虚拟化技术 - 为何需要云计算这种“新事物”_哔哩哔哩_bilibili

视频、课件、资料:

百度网盘链接:https://pan.baidu.com/s/1DQd0LDJND_MC3XvHxB3WKA 
提取码:1234 

一、Keystone

1.概念

Keystone是一个负责身份管理与授权的组件,给整个openstack的各个组件(nova、cglance...)提供一个统一的验证方式。主要功能:实现用户的身份认证、基于角色的权限管理、openstack其他组件的访问地址和安全策略管理。

两大管理功能:用户管理(3A认证)、服务目录管理

租户(项目)、用户、角色三者需要区分清楚。

一个用户允许有多个租户

 一个用户可以绑定到不同的角色(角色代表权限)

一个角色可以绑定到不同的服务

openstack组件,云计算,docker,云原生,openstack,云计算,云原生,docker

openstack组件,云计算,docker,云原生,openstack,云计算,云原生,docker

2.组件间的沟通方式

 openstack组件,云计算,docker,云原生,openstack,云计算,云原生,docker

主要过程:第一次user想访问任何组件会先经过Keystone,用户名+密码,如果用户有效且密码正确返回token1,token1对应的含义和权限会进行记录,但是用户必须有相应的租户(项目)才可以访问openstack的组件。如果user不知道当前有哪些租户(通常情况下是不知道的),user拿着token1访问Keystone当前的租户列表(tenant list)有哪些,user才可以在进行下一步访问。

第二次user确定了想访问nova服务,向Keystone提交用户名密码,Keystone放回token2和endpoint(端点),user拿着token2访问对应的endpoint,endpoint并不知道该user有没有权限,endpoint拿着token2提交给Keyston,如果token2认证成功,Keystone直接通知novatoken2是认证成功,你处理一下,nova处理完成后将结果提交给user。

二、Glance镜像服务

 1.概念

openstact镜像服务使用户能够发现、注册并检索虚拟机镜像(.img文件),简而言之,就是镜像文件的存储仓库。

镜像URL:<Glance Server Location>/images/<ID> ,一般这三者组成一个全局唯一的URL。如果有两个glance服务,可以更改ID。

镜像的五种状态:
Queued(镜像ID已被保留,镜像还没有上传)

Saving(镜像正在被上传)

Active(镜像已经可以被使用)

Killed(镜像损坏或不可用)

Deleted(镜像已被删除)

2. 组件间工作流程

openstack组件,云计算,docker,云原生,openstack,云计算,云原生,docker

暴露接口Glance-api, 两种访问方式,一个是通过编程接口,一般上传的是json格式化存储文件,Glance-api下封装Glance-registry和底层,Glance-registry直接连接数据库,并且Glance-registry接口只暴露给Glance-api,不会直接暴露给用户。另外Glance-api可以直接操作底层S3、Object...

三、Nova 

1.概念

Iaas的核心组件,也是openstack的核心组件,提供云计算服务、虚拟化服务,Nova本身不支持虚拟化,而是去管理底层的虚拟化(KVM或redhat)。

Nova-api:用于接收请求,请求的发起方可以是用户user通过命令或者程序编程接口或仪表台的套件。

Scheduler:调度服务,如果接收到的是新建虚拟机请求,Scheduler需要选择一个compute去启动一个虚拟机。

Compute Manager:管理虚拟机的启动、关闭、停止,管理虚拟化的整个生命周期。Compute Manager并不直接管理虚拟机,而是通过编写的底层驱动Compute Driver去控制Libvirt(redhat开发的虚拟机管理平台),Libvirt再而控制KVM、Xen等虚拟化平台。

openstack组件,云计算,docker,云原生,openstack,云计算,云原生,docker

Libvirt支持多种虚拟化监视器(hypervisor)

openstack组件,云计算,docker,云原生,openstack,云计算,云原生,docker

 nova实质上有两种形式,通常由一个Controller和多个Compute计算节点组成,用户通过命令想nova-api发起创建一个虚拟机请求,nova-api向消息队列(queue)编写数据,随后调度Scheduler、nova-network、nova-volumne。调度成功后也向消息队列写数据,最后Compute接收到消息队列的数据开始响应请求。

openstack组件,云计算,docker,云原生,openstack,云计算,云原生,docker

 虚拟机启动流程:如果创建虚拟机没有指定节点,进行权重计算,计算各个节点的剩余资源,Libvirty会自动检测(一般是1分钟)资源并保存在数据库中,nova-Scheduler可以在数据库拿到节点资源,一旦有新的数据写入Compute 节点,会马上更新资源统计并保存在数据库。

openstack组件,云计算,docker,云原生,openstack,云计算,云原生,docker

 三、Netutron

1.概念

Linux环境下网络设备的虚拟化主要有以下几种形式,Neutron也是基于这些技术来完成项目私有虚拟网络network的构建。
(1) TAP/TUN
TAP/TUN是 Linux内核实现的一对虚拟网络设备, TAP工作在二层,TUN工作在三层,Linux内核通过TAP/TUN设备向绑定该设备的用户空间程序发送数据,反之,用户空间程序也可以像操作硬件网络设备那样,通 过 TAP/TUN设备发送数据。

(2) Linux Bridge/VLAN
Linux Bridge (网桥)是工作于二层的虚拟网络设备,功能类似于物理的交换机。
(3) Open vSwitch
Open vSwitch 是一个具有产品级质量的虚拟交换机,它使用C语言进行开发 。可以区分被桥接的物理网卡上流淌的数据包属于哪个VM 、哪 个 OS 及哪个用户。接入到OpenvSwitch上的各个 VM分配到不同的VLAN中实现网络的隔离。
实现了分布式的虚拟交换机( Distributed Virtual Switch),一个物理Server上的vSwtch可以透明地与另一Server上的vSwitch连接在一起。

L3 agent

l3 agent可以为project(租户)创建router,提供Neutron subnet之间的路由服务。路由功能默认通过 IPtables 实现。

neutron agent服务:

(1)plug-in agent(neutron-*-agent)

插件代理,需要部署在每一个运行hypervisor的主机上,它提供本地的vSwitch配置,更多的时候得依赖你具体所使用的插件类型。(常用的插件是OpenvSwitch,还包括Big Switch,Floodinght REST Proxy,Brocade, NSX, PLUMgrid, Ryu)

(2)dhcp agent(neutron-dhcp-agent)

DHCP代理,给租户网络提供动态主机配置服务,主要用途是为租户网络内的虚拟机动态地分配IP地址。

(3)l3 agent(neutron-l3-agent)

L3代理,提供三层网络功能和网络地址转换(NAT)功能,来让租户的虚拟机可以与外部网络通信。

(4)metering agent(neutron-metering-agent)

计量代理,为租户网络提供三层网络流量数据计量服务。

Network--->Vlan

Subnet--->一段地址段(比Network的范围更小)

Router--->三层路由

Port--->虚拟交换机的端口号

Vif--->主机

openstack组件,云计算,docker,云原生,openstack,云计算,云原生,docker

流程:

openstack组件,云计算,docker,云原生,openstack,云计算,云原生,docker 

 主要组件功能:

openstack组件,云计算,docker,云原生,openstack,云计算,云原生,docker

 ML2 Plugin功能实现以及对应协议:

openstack组件,云计算,docker,云原生,openstack,云计算,云原生,docker

 拓网络扑

不同组件上运行的服务是不同的!每台Nova节点都会有ML2-agent代理端,管理端则在Neutron节点上Neutron ML2 plugin。

openstack组件,云计算,docker,云原生,openstack,云计算,云原生,docker

Per-tenant Routers with Private Network 

这是一种最具意义的网络构建方式,不同的租户有各自的路由器,同一个租户可以拥有不同的网段,租户间的通信使用各自的路由器通过浮动网络进行通信,浮动网络后就是物理路由器了,通过物理路由器就可以与外网通信了。

绿色租户,蓝色vlan,每个租户一个路由,一个路由多个vlan。

openstack组件,云计算,docker,云原生,openstack,云计算,云原生,docker

 

 五、Horizon仪表盘套件

Horizon安装前必须安装Compute、Keystone组件,必须安装Python2.6或2.7,并支持Django。

演示:

openstack组件,云计算,docker,云原生,openstack,云计算,云原生,docker

 

六、 Cinder块存储

controller节点运行The Block Storage API服务和Schedule服务,The volume service运行在一个或多个存储节点,存储节点可以是本地磁盘、SAN、NAS等设备,为云主机提供卷存储。

cinder-api:允许API请求,并路由他们到cinder-volume。

cinder-volume:直接与块存储服务通信,支持多种存储类型。

cinder-scheduler daemon:类似于nova-scheduler组件,用于计算节点资源,选择最优的存储节点创建卷。

swift和cinder的区别

 swift类似于网盘,而cinder类似于移动硬盘,随意格式化,随意存取。swift对象存储通常存储一些不会修改的数据,比如用于存储 VM 镜像、备份和归档以及较小的文件,例如照片和电子邮件消息。更倾向于系统的管理。文章来源地址https://www.toymoban.com/news/detail-781645.html

到了这里,关于OpenStack七大组件解析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【云计算知识库】什么是云?什么是云计算?计算的是什么?openstack是什么?nova计算组件?【持续更新中】

    欢迎关注公众号:天天说编程 你的关注是我最大的动力! 1.什么是云,什么是云计算,计算是指计算什么 云计算中的云不是天空中的云,在计算机的世界里,可以将它理解为一个群组,汇集在一起,只不过天上的云是雨水的群组,而云计算是计算机与互联网汇集起来的群组

    2024年02月14日
    浏览(39)
  • 云计算集群搭建记录[Hadoop|Zookeeper|Hbase|Spark | Docker |OpenStack]更新索引 |动态更新

    为了能够更好的查看所更新的文章,讲该博文设为索引 为了解决在编辑文件等操作的过程中的权限问题,博主一律 默认采用 root 账户登录 对于初次安装的用户可以采用如下命令行: 另外推荐一款终端工具:Tabby,既能够连接自己的服务器,也能够连接自己本地的虚拟机,还

    2023年04月13日
    浏览(54)
  • openstack详解(三)——openstack基础组件安装

    今天继续给大家介绍Linux运维相关知识,本文主要内容是Openstack基础组件安装。 首先,我们先进行Openstack的硬件设置(注:由于我的计算机性能有限,因此在内存上给的有点上,如果您的计算机有足够大的内存,可以给Openstack设备以更多的性能),如下所示: 在设置完Opens

    2023年04月08日
    浏览(32)
  • 【云原生系列】openstack搭建过程及使用

    目录 搭建步骤 准备工作 正式部署OpenStack 安装的过程 安装组件如下  登录页面  进入首页 创建实例步骤 上传镜像 配置网络 服务器配置 dashboard配置 密钥配置免密登录 创建实例 绑定浮动ip   免密登录实例 1.关闭防火墙和网关 2.更换yum源 选择中科大镜像源。 注意不要安装

    2024年02月15日
    浏览(30)
  • 【云计算OpenStack-OpenStack Queens版本】基于OpenStack的云计算环境搭建

    OpenStack云计算环境的搭建是基于虚拟机的多节点Linux网络环境基础上搭建起来的,所以需要我们先搭建好集群环境。(基础环境搭建参考:基于虚拟机的多节点Linux网络环境搭建) 操作系统:CentOS7 controller节点IP:192.168.43.199 compute节点IP:192.168.43.74 neutron节点IP:192.168.43.180 说

    2024年02月04日
    浏览(45)
  • Openstack九大组件

    云是服务 云,本身没有资源,只是去管理和调度资源 虚拟化是技术 虚拟化提供资源,在云的世界里,虚拟化提供底层的计算、存储、网络资源,由云来接管 云的五大特征: 按需自助服务 广泛的网络接入 资源池化 快速弹性伸缩 可计量服务 Openstack(云操作系统)九大组件

    2023年04月14日
    浏览(37)
  • openstack核心组件

    openstack 云平台服务的提供主要是依靠 Nova、Glance、Cinder 和 Neutron 四个核心模块完成的, 四个辅助模块 Horizen 、Ceilometer 、Keystone、Swift 提供的访问、监控、权限和对象存储功能。 服务进程之间的通讯通过消息队列MQ实现 一、控制台 Horizon 管理、控制OpenStack服务的web控制面板

    2024年02月04日
    浏览(35)
  • 云计算|OpenStack|社区版OpenStack安装部署文档(二---OpenStack运行环境搭建)

    一个良好的运行环境对于任何一个部署工作来说都是必须的,俗话说 万事开头难,其实很多部署工作失败的原因在于初始环境没有正确的配置,因此,按照官网的部署文档并结合自己的实际情况,配置一个合理的OpenStack运行环境是十分有必要的。 OpenStack的运行环境配置文档

    2023年04月08日
    浏览(47)
  • Openstack云计算(六)Openstack环境对接ceph

    (1)客户端也要有cent用户:   (2)openstack要用ceph的节点(比如compute-node和storage-node)安装下载的软件包:   或则:每个节点安装 clients(要访问ceph集群的节点):   (3)部署节点上执行,为openstack节点安装ceph:   (4)客户端执行 1 (5)create pools,只需在一个ceph节点上

    2024年02月20日
    浏览(45)
  • Openstack组件glance对接swift

    2、glance对接swift (1)可直接在数据库中查看镜像存放的位置、状态、id等信息 (2)修改glance-api的配置文件,实现对接swift存储(配置文件在/etc/glance/glance-api.conf,建议先拷贝一份) 14 default_store=swift //把默认存储的file修改为swift 478 stores=glance.store.swift.Store, //把file system修改

    2024年01月22日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包