华为云Stack的学习(三)

四、华为云Stack公共组件

1.华为云Stack公共负载均衡方案介绍

image.png

1.1 LVS原理

LVS是四层负载均衡,建立在OSI模型的传输层之上,所以效率非常高。

LVS有两种转发模式:

  • NAT模式的转发主要通过修改IP地址(位于OSI模型的第三层网络层)实现转发。
  • DR模式的转发主要通过修改MAC地址(位于OSI模型的第二层数据链路层)实现转发。

云服务框架中使用的DR模式。

image.png

1.2 Nginx原理

Nginx是七层负载均衡,建立在OSI模型的应用层之上,基于访问URL进行转发,转发是可以修改URL等数据。

Nginx的模块从功能上分为如下三类:

  • **Handlers(处理器模块):**此类模块直接处理请求,并进行输出内容和修改headers信息等操作。Handlers处理器模块一般只能有一个。
  • **Filters(过滤器模块):**此类模块主要对其他处理器模块输出的内容进行修改操作,最后由Nginx输出。
  • **Proxies(代理类模块):**此类模块是Nginx和HTTP Upstream之类的模块,这些模块主要与后端一些服务比如FastCGI等进行交互,实现服务代理和负载均衡等功能。

image.png

1.3 HAProxy原理

HAProxy支持四层和七层负载均衡,云服务框架中使用的是四层转发,基于访问IP+端口号进行转发,转发时可以修改URL等数据。

image.png

image.png

1.4 LVS+Nginx+HAProxy部署模式

LVS、Nginx、HAProxy单独两个节点部署,LVS和HAProxy主备部署、Nginx集群部署。

LVS+Nginx+HAProxy采用HCSD一键部署方式,无需人工干预,升级视同DMK升级。

image.png

image.png

image.png

2.华为云Stack域名解析方案介绍

域名解析服务器分为管理侧(OM)和租户侧(Tenant)

  • **DNS-OM:**作为云服务的本地DNS服务器,为云服务提供域名解析服务,并代理公网域名的解析。
  • **DNS-Tenant:**作为租户虚拟机的本地DNS服务器,为租户虚拟机提供域名解析,同时作为DNS-OM的公网出口,代理解析公网域名。

**管理虚拟机域名解析:**管理虚拟机通过DNS Resolver向DNS-OM发送域名解析请求,若DNS-OM存在相关记录则直接返回结果,否则转发到DNS-Tenant,若DNS-Tenant仍无法解析则转发到外部DNS解析。

**租户虚拟机域名解析:**租户虚拟机通过DNS Resolver向DNS-Tenant发送域名解析请求,如果DNS-Tenant存在相关记录则直接返回解析结果,否则转发到外部DNS解析。

image.png

2.1 DNS组件部署模式

公共组件层的DNS包括部署在管理网络平面的DNS-OM和部署在租户网络平面的DNS-Tenant。DNS-OM对应的虚拟机节点为OM-SRV-01和OM-SRV-02,主备部署。DNS-Tenant对应的虚拟机节点为TDNS-TNTP-01和TDNS-TNTP-02,主备部署。

DNS组件采用HCSD一键部署方式,无需人工干预,可在Service OM里查看虚拟机的详细信息。

image.png

image.png

3.华为云Stack时钟同步方案介绍

3.1 有外部NTP

资源池层FusionSphere OpenStack的NTP服务从外部NTP服务器获取时钟源。

资源池层Service OM、华为分布式块存储(包括FSM和FSA)、ManageOne和公共组件层的OM_NTP从FusionSphere OpenStack的NTP服务获取时钟源。

公共组件层的DMZ_NTP从FusionSphere OpenStack的NTP服务获取时钟源。

云服务、公共组件、管理域ManangeOne等组件所在管理虚拟机从公共组件层的OM_NTP获取时钟源。

租户虚拟机可以根据实际需要,从公共组件层DMZ_NTP获取时钟源,或者从外部NTP服务器获取时钟源。

image.png

3.2 无外部NTP

资源池层中的Service OM、华为分布式块存储、ManageOne和公共组件层的OM_NTP从FusionSphere OpenStack的NTP服务获取时钟源。

公共组织层的DMZ_NTP从FusionSphere OpenStack的NTP服务获取时钟源。

云服务、公共组件、管理域ManageOne等组件所在管理虚拟机从公共组件层的OM_NTP获取时钟源。

租户虚拟机可以根据实际需要,从公共组件层的DMZ_NTP获取时钟源。

image.png

3.3 NTP组件部署模式

公共组件层的NTP包括部署在管理网络平面的OM_NTP和部署在租户网络平面的DMZ_NTP。OM_NTP对应的虚拟机节点为OM-SRV-01和OM-SRV-02,主备部署。DMZ_NTP对应的虚拟机节点为TDNS-TNTP-01和TDNS-TNTP-02,主备部署。

  • OM_NTP对应管理侧,为管理虚拟机提供时钟同步服务。
  • DMZ_NTP对应租户侧,为租户虚拟机提供时钟同步服务,同时DMZ_NTP也作为OM_NTP的上级时钟源,从外部时钟源获取时间。

image.png

image.png

4.DMK介绍

DMK(Deploy Management Kit)提供统一的部署与安装配置平台,实现云服务的安装部署与补丁升级功能。承载IaaS服务、组件和部分运维工具的安装部署功能,降低安装工时。DMK本身也是基于Ansible作为自动化执行引擎来进行相关的自动化运维能力,包括服务/应用部署、升级、回滚、卸载、节点管理、配置管理等。

image.png

通常情况下不需要管理员对DMK进行修改,容易导致配置问题,管理员通常通过HCSD,进行修改和部署,HCSD向DMK发送请求,写自动化脚本让DMK实现相应的请求。

4.1 DMK系统逻辑架构

image.png

DMK基于开源的Ansible作为执行引擎。

4.2 DMK示例

  • 部署向导-任务创建

image.png

  • 配置管理

image.png

  • SSH账号管理

image.png

4.3 DMK部署模式

DMK与其他云服务合并部署在一个节点内,采用主备部署在OM-SVR-1和OM-SVR02节点;采用HCSD一键部署方式,无需人工干预。

MDK提供Portal界面供用户进行登录,DMK一般不建议用户进行登录,防止误操作,导致华为云Stack组件配置问题。

image.png

5.API网关介绍

API网关(PAI Gateway)配套行业解决方案,提供高性能、高可用性、高安全的API托管服务,是一款涵盖PAI运行、管理、分析、安全为一体的端到端API产品,帮助客户实现后台服务、数据与上层应用的解耦,高效拓展业务,聚合提供后台服务和应用的合作伙伴,构建开发者生态。

API网关(PAI Gateway)是面向华为云Stack内部服务的服务。它可以让内部服务注册API,强PAI开放给租户使用。负责底座和高阶场景的注册、转发、负载均衡等能力。

image.png

image.png

5.1 PAI网关架构

image.png

image.png

5.2 API网关部署模式

API网关包含2台主主模式部署的管理面API调用时的反向代理和负载均衡虚拟机APIGWLB和3台集群部署的相关组件虚拟机APIGWZK。采用HCSD一键部署方式,无需人工干预。

APIGWZK-03节点不部署asgard。

image.png

image.png

6.组合API介绍

组合API(APICOM)为弹性云服务器、云硬盘和云硬盘备份等服务提供后台服务,可以理解为console的服务端。组合API作为公共服务平台,支持云服务的请求、响应、子任务持久化。目前已经托管的服务有:弹性云服务器、云硬盘、云硬盘备份、弹性负载均衡、镜像、VPC(创建EIP)、裸金属服务器。

  • 多个业务的API统一由组合API提供。
  • 云服务申请由Console到API-GW再到组合API,其中console和组合API都要到IAM上做鉴权。
  • 组合API可以通过API-GW对外提供服务。

image.png

6.1 组合API在华为云Stack方案的位置

image.png

6.2 组合API部署模式

组合API(APICOM)以主备模式部署在CPT-SVR-01、CPT-SVR-02两台管理虚拟机上。采用HCSD一键部署方式,无需人工干预,组件版本单独升级,与其他组件一样,通过DMK进行升级。

可通过登录Service OM界面,查看CPTSVR-01、CPT-SVR-02两台管理虚拟机的详细信息。

image.png

image.png

7.CCS介绍

CCS(Cloud Configuration Service)在华为云Stack方案中,对云区域、可用分区、云主机规格、云磁盘类型以及外部网络提供标签管理功能,并为ECS、EVS、VPC等云服务提供相应标签查询功能。

image.png

CCS分为三个组件:

  • CCS Console是基于Service OM框架开发的CCS前端,提供给管理员可视化的CCS打标签功能。
  • CCS API提供CCS打标签功能的业务逻辑。
  • CCS Client提供给管理员命令行级的CCS打标签功能。

7.1 CCS业务流程

①CCS Console/Client下发标签增删改查管理业务。

②api层是基于WSGI封装的Restful接口。api层街道请求后将业务下发到hybrid层,hybrid层实现了业务功能的逻辑。

③如果标签类型为云区域、可用分区、云主机规格以及云磁盘类型,则将标签记录入数据库或者从数据库查询。

④如果标签类型为外部网络,则hybrid层会通过manager转发到driver层,driver层调用OpenStack的neutron接口,将标签同步到neutron的外部网络tags属性中,同时记录进数据库。

image.png

7.2 CCS外部依赖

image.png

  • DNS负责CCS域名映射到CCS浮动IP
  • HAProxy负责CCS浮动IP映射
  • OpsMonitor负责监控CCS状态
  • ELK负责收集CCS日志
  • Silvan中注册CCS域名,供对外查询
  • ManageOne服务中心通过CCS完成可用分区同步
  • CCS和OpenStack各服务交互,提供CCS对外业务支撑
  • ECS创建租户虚拟机时查询CCS资源标签接口
  • EVS查询指定AZ下的卷类型标签
  • VPC查询指定AZ下的网络标签

7.3 CCS部署模式

CCS分别与其他云服务合并部署在一个节点内,采用主备模式部署在OM-SVR-01和OM-SVR-02节点;CCS所使用的GaussDB部署在PUB-DB-01和PUB-DB-02管理虚拟机;采用HCSD一键部署方式,无需人工干预。

image.png

image.png

8.SDR介绍

SDR作为公共组件,对云服务提供的资源进行准确计量,生成离线话单文件,共计费系统采集完成计费。

SDR具备数据采集能力、对单上传能力,各服务提供话单处理逻辑,共同完成离线话单生成。

image.png

计量话单由Controller和Agent两个组件组成,其中Controller负责定时触发话单生成任务;Agent从各数据源采集计量数据,处理完成后生成话单文件,最终将话单文件上传到SFTP服务器。

8.1 SDR业务流程

①Controller定时触发任务并记录入库。

②Controller向Agent下发话单生成任务。

③Agent去各数据源采集数据。

④采集数据完成后生成话单并上传到sftp。

话单上传目录为/opt/meterfiles/uploads,每个服务一个单独的文件夹存储话单。

image.png

8.2 SDR外部依赖

image.png

8.3 SDR部署模式

计量话单的controller和agent均为无状态节点,采用2+2集群模式部署;Agent和controller使用haproxy做负载均衡;采用HCSD意见部署方式,无需人工干预。

Agent和controller部署在PUB-SVR-01和PUB-SVR-02节点;Controller部署在PUB-SVR-03和PUB-SVR-04节点。SDR所使用的GaussDB部署在PUB-DB-01和PUB-DB-02管理虚拟机。

image.png

image.png

9.任务中心介绍

任务中心是任务的统一管理界面,支持ManageOne各特性将任务注册或托管进来,运维人员可通过任务中心统一管理注册或拖管至任务中心的任务。同时,任务中心默认支持管理周期资源采集任务,并支持修改资源采集任务调度周期,用户可根据实际情况配置资源采集任务调度周期并管理资源采集任务。

image.png

9.1 任务中心业务流程

单个操作基本流程:

①UI下发创建请求到服务。

②接口生成Jobld后,调用任务中心添加接口,将新增对象加入任务中心数据库。

③Job调度过程中拿到真实对象后,调用任务中心更新接口,更新对应对象状态为“creating”。

④若创建成功,调用任务中心删除接口,删除临时对象。

⑤若创建失败,调用任务中心更新接口,更新对象状态为“fauled”。

image.png

9.2 任务中心服务外部依赖

image.png

9.3 任务中心部署模式

任务中心Service阶段为无状态节点,采用2节点集群模式部署;双节点对外使用HAProxy做负载均衡;采用HCSD一键部署方式,无需人工干预。

TaskCenter与其他云服务合并部署在一个节点内;部署在PUB-SVR-01和PUB-SVR-02管理虚拟机,TaskCenter所使用的GaussDB部署在PUB-DB-01和PUB-DB-02管理虚拟机。

image.png

image.png

10.GaussDB组件介绍

GaussDB是华为自主研发的关系型磁盘数据库管理系统,具备通用的数据库管理功能。基于PostgreSQL 9.2开发,在兼容性、性能、安全、可用性和可维护性上做了增强。

适用于如下典型应用:

  • 主要以插入、删除和查询为主,更新的频率较低。
  • 对数据完整性要求比较高的业务型应用。
  • 数据级别在500GB以下。

华为云Stack中采用了GaussDB作为关系型数据库载体,保存产品组件相关数据。比如OpenStack各个组件的元数据、运营面和运维面Portal数据等等。

image.png

10.1 GaussDB部署架构-OMMHA

image.png

GaussDB-OMMHA集群:

  • 单AZ部署,主备两个DB节点。
  • 业务通过浮动IP访问主节点。
  • 主节点故障可自动将备节点提升为主,并将浮动IP绑定到新的主节点。

特点:

  • 主备结构,简单可靠
  • 对外提供VIP访问
  • 主库物理复制到备库,延时小。

缺点:

  • 节点间网络隔离情况下有脑裂风险

10.2 GaussDB部署架构-DBMHA

image.png

GaussDB-DBMHA集群(SDK):

  • 跨AZ部署,一主两备3个DB节点,主AZ两个节点,备AZ一个节点,主用节点障碍则优先切换到同AZ备节点,主AZ故障则切到备AZ备节点。
  • 业务节点通过SDK使用浮动IP访问主节点或者本地IP访问主备节点(读写分离)。
  • 一套GaussDB-DBMHA高可用可以同时托管多套(最大50)GaussDB容灾集群。
  • HA-ETCD不可用不影响其托管的GaussDB集群。

特点:

  • 统一的HA架构,数据库三节点(一主两备),分布式仲裁(ETCD),防脑裂(双主)
  • 支持跨AZ和跨Region部署,提供容灾能力
  • 对外提供VIP或者SDK两种访问模式

缺点:

  • 资源占用较多(需要提供仲裁ETCD和SDK ETCD)

10.3 GaussDB部署模式

在华为云Stack中,存在公共的GaussDB和产品、云服务专属的GaussDB;采用HCSD一键部署方式,无需人工干预。

以OMMHA部署架构的GaussDB为例:

  • 公共GaussDB部署在PUB-DB-01、PUB-DB-02管理虚拟机上,并主备运行在控制节点。
  • ManageOne、CC云连接、AS弹性伸缩等有自用的GaussDB不和其他组件共享,都是主备运行在控制节点。

image.png

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/110139.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GFPGAN 集成Flask 接口化改造

GFPGAN是一款腾讯开源的人脸高清修复模型,基于github上提供的demo,可以简单的集成Flask以实现功能接口化。 GFPGAN的安装,Flask的安装请参见其他文章。 如若使用POSTMAN进行测试,需使用POST方式,form-data的请求体&am…

随机化快速排序(Java 实例代码)

随机化快速排序 一、概念及其介绍 快速排序由 C. A. R. Hoare 在 1960 年提出。 随机化快速排序基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数…

jupyter notebook 插件nbextensions的安装

安装步骤: 1、打开 jupyter notebook,新建一个 python 文件; 2、 分别输入以下代码,然后运行,出现 warning 不影响使用,如果出现 errors,则说明下载有问题: !python -m pip install…

【注册岩土】Python土力学与基础工程计算.PDF-土中的应力

Python 求解代码如下: 1.#计算竖向有效自重应力2.h12#m3.h21.5#m4.h31#m5.gamma1 19# kN/m^36.gamma218# kN/m^37.gamma317# kN/m^38.sigma_c gammal * h1 gamma2*h2 gamma3 *h39.print("竖向有效自重应力…

指针进阶详解

个人主页:点我进入主页 专栏分类:C语言初阶 C语言程序设计————KTV C语言小游戏 C语言进阶 欢迎大家点赞,评论,收藏。 一起努力,一起奔赴大厂。 目录 1.字符指针 2.指针数组 3.数组指针 4.数组传…

设计模式(一)

1、适配器模式 (1)概述 适配器中有一个适配器包装类Adapter,其包装的对象为适配者Adaptee,适配器作用就是将客户端请求转化为调用适配者中的接口;当调用适配器中的方法时,适配器内部会调用适配者类的方法…

加密的PDF文件,如何解密?

PDF文件带有打开密码、限制编辑,这两种密码设置了之后如何解密? 不管是打开密码或者是限制编辑,在知道密码的情况下,解密PDF密码,我们只需要在PDF编辑器中打开文件 – 属性 – 安全,将权限状态修改为无保护…

React常见面试题

文章目录 1.1、React生命周期1.2、JSX1.3、类组件和函数组件1.4、react组件设计模式1.5、高阶组件1.6、setState的同步异步1.7、调用setState后会发生什么1.8、组件通信1.9、虚拟DOM、diff算法、key的作用1.10、什么是 React1.11、react渲染流程1.12、React Router常用API1.12、…

2023年7月京东护发市场数据分析(京东数据产品)

如今,与面部护肤相比,多数消费者认为头皮也需要认真对待,这在年轻消费群体中体现的较为明显。 随着消费者对护发理念的认同感不断加深,人们日常居家洗护的步骤也更加精细、使用产品品类也愈加多样化。除传统的护发素、发膜等护发…

TinyVue - 华为云 OpenTiny 出品的企业级前端 UI 组件库,免费开源,同时支持 Vue2 / Vue3,自带 TinyPro 中后台管理系统

华为最新发布的前端 UI 组件库,支持 PC 和移动端,自带了 admin 后台系统,完成度很高,web 项目开发又多一个选择。 关于 OpenTiny 和 TinyVue 在上个月结束的华为开发者大会2023上,官方正式进行发布了 OpenTiny&#…

大数据Flink(六十九):SQL 数据类型

文章目录 SQL 数据类型 一、原子数据类型 二、​​​​​​复合数据类型 SQL 数据类型 在介绍完一些基本概念之后,我们来认识一下

Flutter可执行屏幕动画的AnimateView

1.让动画使用起来就像使用widget。 2.可自定义动画。 3.内置平移动画。 演示: 代码: import dart:math; import package:flutter/cupertino.dart;class AnimateView extends StatefulWidget {///子Widgetfinal Widget child;///动画自定义final IAnimate? anim…

自实现getprocaddress(名称查找或者序号查找)

通过名称去找 // MyGETPRCOADDRESS.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //#include <iostream> #include<Windows.h>/*WINBASEAPI //导出不需要使用&#xff0c;那么我们注释掉*/ FARPROC WINAPI MyGetProcAddress(_In_ HMO…

AIGC - 生成模型

AIGC - 生成模型 0. 前言1. 生成模型2. 生成模型与判别模型的区别2.1 模型对比2.2 条件生成模型2.3 生成模型的发展2.4 生成模型与人工智能 3. 生成模型示例3.1 简单示例3.2 生成模型框架 4. 表示学习5. 生成模型与概率论6. 生成模型分类小结 0. 前言 生成式人工智能 (Generat…

面试中的代码写作:如何撰写清晰、高效的示例代码

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

软考A计划-网络工程师-常用计算公式汇总

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…

Zabbix 5.0 媒体介质 邮箱配置例子

QQ企业邮箱 参考&#xff1a;zabbix 腾讯企业邮箱配置图_harveymomo的博客-CSDN博客

分布式计算框架:Spark、Dask、Ray

目录 什么是分布式计算 分布式计算哪家强&#xff1a;Spark、Dask、Ray 2 选择正确的框架 2.1 Spark 2.2 Dask 2.3 Ray 什么是分布式计算 分布式计算是一种计算方法&#xff0c;和集中式计算是相对的。 随着计算技术的发展&#xff0c;有些应用需要非常巨大的计算能力才…

python web GUI框架-NiceGUI 教程(二)

python web GUI框架-NiceGUI 教程&#xff08;二&#xff09; streamlit可以在一些简单的场景下仍然推荐使用&#xff0c;但是streamlit实在不灵活&#xff0c;受限于它的核心机制&#xff0c;NiceGUI是一个灵活的web框架&#xff0c;可以做web网站也可以打包成独立的exe。 基…

几个nlp的小任务(机器翻译)

几个nlp的小任务(机器翻译) 安装依赖库数据集介绍与模型介绍加载数据集看一看数据集的样子评测测试数据预处理测试tokenizer处理目标特殊的token预处理函数对数据集的所有数据进行预处理微调预训练模型设置训练参数需要一个数据收集器,把处理好数据喂给模型设置评估方法参数…