IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> [Openstack] keystonenova -> 正文阅读

[系统运维][Openstack] keystonenova

目录

Keystone

Nova

Nova架构

部署架构特点

Nova组件

nova-api

nova-compute

nova-conductor

nova-scheduler

nova-novncproxy


Keystone

Keystone(OpenStack Identity Service)是 OpenStack 框架中负责管理身份验证、服务访问规则和服务令牌功能的组件。用户访问资源需要验证用户的身份与权限,服务执行操作也需要进行权限检测,这些都需要通过 Keystone 来处理。Keystone 类似一个服务总线, 或者说是整个 Openstack 框架的注册表,OpenStack 服务通过 Keystone 来注册其 Endpoint(服务访问的URL),任何服务之间的相互调用,都需要先经过 Keystone 的身份验证,获得目标服务的 Endpoint ,然后再调用。

endpoint

网络可访问的地址,通常是URL,通过它可以访问服务

Endpoint分为三类:
admin url? ?--> 给admin用户使用
internal url --> OpenStack内部服务之间通信
public url? ?--> 互联网用户可以访问的地址

domainDomain 可以认为是 project,user,group 的 namespace。 一个 domain 内,这些元素的名称不可以重复。
group组是一个Domain部分用户的集合。它可以让管理员快捷地对多个用户赋予相同的角色。例如为group A赋予role A,那么group A中所有的用户都拥有role A。移除角色亦是如此。
user只在Domain下全局唯一。使用OpenStack云服务的人、系统或服务。用户拥有登录权限,可以使用指定的令牌访问资源。用户可以被直接分配到一个特定的project中。用户表现为一个独立的API消费者。
project在Domain下唯一。对资源或标识对象进行分组或隔离的容器。根据服务运营商的不同,项目可能映射到客户、帐户、组织或租户。
region如两个region(各自一套openstack)使用同一个keystone。当用户页面访问时,keystone会检测到多个region的存在并显示给用户,使得用户可以选择某一region进行访问。
role是ACL集合,主要用于权限的划分。Role在Domain下是唯一的。/etc/keystone/policy.json定义了某个role所能进行的操作,可以使用oslopolicy-policy-generator命令生成。
serviceOpenStack服务(Compute (nova)、Object Storage (swift)、Image service (glance)),提供一个或多个终端,供用户访问资源和执行操作。
token一个字母-数字的文本字符串,允许访问OpenStack api和资源。令牌可以在任何时候被撤销,并且在一定的时间内有效。

参考资料:
OpenStack - Keystone https://blog.csdn.net/weixin_45804031/article/details/122713062

Nova

Nova是OpenStack最核心的服务模块,负责管理和维护云计算环境的计算资源,负责整个云环境虚拟机生命周期的管理。
Nova自身并没有提供任何虚拟化能力,它提供计算服务,使用不同的虚拟化驱动来与底层支持的Hypervisor(虚拟机管理器)进行交互。

Nova架构

说明:PlacementAPI
以前对资源的管理全部由计算节点承担,在统计资源使用情况时,只是简单的将所有计算节点的资源情况累加起来。但是系统中还存在外部资源,如ceph、nfs等提供的存储资源等。面对多种多样的资源提供者,管理员需要统一的、简单的管理接口来统计系统中资源使用情况,这个接口就是PlacementAPI。PlacementAPl由nova-placement-api服务来实现,旨在追踪记录资源提供者的目录和资源使用情况。

DB用于数据存储的SQL数据库,通常是MariaDB
API用于接收HTTP请求、转换命令、通过消息队列或HTTP与其他组件通信。
Scheduler用于决定哪台计算节点承载计算实例。
Compute管理虚拟机管理器与虚拟机之间通信。
Conductor处理需要协调(构建虚拟机或调整虚拟机大小)的请求,充当数据库代理或者处理对象转换。
Neutron管理IP转发、网桥或虚拟局域网。

部署架构特点

无中心结构
各组件无本地持久化状态
可水平扩展
通常将nova-api、nova-scheduler、nova-conductor组件合并部署在控制节点上
通过部署多个控制节点实现HA和负载均衡
通过增加控制节点和计算节点实现简单方便的系统扩容

Nova组件

nova-api

nova-api 作为 nova 组件对外的唯一窗口,向客户暴露 Nova 能够提供的功能。 当客户需要执行虚机相关的操作,能且只能向 nova-api 发送 REST 请求。

设计 API 前端服务的好处在于: 1. 对外提供统一接口,隐藏实现细节 2. API 提供 REST 标准调用服务,便于与第三方系统集成 3. 可以通过运行多个 API 服务实例轻松实现 API 的高可用,比如运行多个 nova-api 进程。

nova-compute

nova-compute 在计算节点上运行,负责管理节点上的实例。OpenStack 对实例的操作,最后都是交给 nova-compute 来完成。nova-compute 与 Hypervisor 一起实现 OpenStack 对实例生命周期的管理。

nova-compute 的功能可以分为两类:

1)定时向 OpenStack 报告计算节点的状态
每隔一段时间,nova-compute 就会报告当前计算节点的资源使用情况和 nova-compute 服务状态。这样OpenStack 就能得知每个计算节点的 vcpu、ram、disk 等信息。nova-scheduler 的很多 Filter 才能根据计算节点的资源使用情况进行过滤,选择符合 flavor 要求的计算节点。

2)实现实例生命周期的管理
OpenStack 对实例最主要的操作都是通过 nova-compute 实现的,包括实例的启动、关闭、重启、暂停、恢复、删除、调整实例大小、迁移、创建快照等。

nova-conductor

是nova-compute服务和数据库之间的中间件,为计算节点提供数据库访问支持。

实现更高的系统安全性
将nova-compute 访问数据库的全部操作都放到 nova-conductor 中,nova-conductor 部署在控制节点上的。这样就避免了 nova-compute 直接访问数据库,增加了系统的安全性。

实现更好的系统伸缩性
nova-compute 与 nova-conductor 是通过消息中间件交互的。这种松散的架构允许配置多个 nova-conductor 实例。在一个大规模的 OpenStack 部署环境里,管理员可以通过增加 nova-conductor 的数量来应对日益增长的计算节点对数据库的访问。

nova-scheduler

当创建实例时,用户会提出资源需求,例如 CPU、内存、磁盘各需要多少。OpenStack 将这些需求定义在 flavor 中,用户只需要指定用哪个 flavor 就可以了。nova-scheduler 会按照 flavor 去选择合适的计算节点。

FilterScheduler调度过程分为两步:
通过过滤(filtering)选择满足条件的计算节点。
通过权重计算(weighting)选择在最优(权重值最大)的计算节点上创建实例。

nova-novncproxy

为浏览器提供VNC代理,允许VNC控制台访问虚拟机。

参考资料:
OpenStack - Nova https://blog.csdn.net/weixin_45804031/article/details/122746737
openstack--nova ?https://blog.csdn.net/weixin_57808082/article/details/116989854
OpenStack(四)——Nova组件 https://blog.csdn.net/Lucien010230/article/details/117305425

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-27 11:41:37  更:2022-04-27 11:42:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 21:07:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码