基于 Rainbond 的混合云管理解决方案
内容概要:文章探讨了混合云场景中的难点、要点,以及Rainbond平台在跨云平台的混合云管理方面的解决方案。包括通过通过统一控制台对多集群中的容器进行编排和管理,实现了对混合云中应用的一致性管理。文章还介绍了Rainbond平台在混合云环境下的应用模板交付、跨云团队管理等功能,帮助用户简化跨云平台的应用交付和运维操作。
混合云的应用场景
随着云原生技术的逐渐成熟,混合云成为了企业在云原生领域中的热门话题之一。混合云的场景特点是企业应用和数据在多个云环境中进行部署和运行,包括私有云和公有云,以及不同的云服务提供商。这样的场景带来了许多挑战和机遇。
混合云的价值点主要在于:
-
灵活性和可扩展性:混合云能够让企业在不同云环境中选择最适合的部署方案,使得应用和服务的部署更加灵活和可扩展。
-
高可用性和容灾能力:混合云能够通过在多个云环境中部署应用和数据,提高系统的可用性和容灾能力,从而减少系统停机时间和数据损失。
-
降低成本:混合云能够让企业根据应用和数据的需求,在不同的云环境中选择最优惠的价格和性能比例,从而降低总体成本。
混合云管理要点
混合云场景相较于单一的私有云或公用云场景而言复杂很多,建设混合云的难点往往来自于不同供应商提供的云平台之间有很多差异,很难做到统一的管理体验。而且,多个供应商提供的云平台之间不互通,跨云进行数据同步时,需要考虑一致性与安全性。
-
跨云平台标准化:不同的云平台之间存在着各种差异,使得跨云平台的操作和管理变得复杂。标准化能够让不同平台之间的操作和管理更加一致,减少管理难度。
-
数据一致性:不同云平台之间的数据交换和同步需要确保数据一致性,以避免数据冲突和丢失。
-
安全性:在混合云场景下,不同云平台之间的数据和应用需要得到适当的安全保护,以保障数据的机密性和完整性。
-
用户管理:在混合云场景下,不同的云平台之间的用户体系并不相通。统一的混合云管理平台能够利用一套用户体系纳管多个集群中的计算资源,极大的降低了管理成本。
混合云场景功能需求
在混合云场景中,以下跨云功能通常具有很强的需求:
-
一致性操作体验:以一致性的管理体验,抹平用户使用不同云资源的操作差异。使得用户可以通过一套操作,完成应用从发布到上线到多个云环境的核心过程。一致性操作体验可以极大的弱化用户在面对多个不同云环境的不适感,使底层计算资源对用户透明。
-
用户管理:通过在统一控制台层面抽象用户体系,完成一套用户管理所有集群的效果。可以极大的降低企业管理成本。
-
跨云迁移和部署:随着企业在多个云平台上部署应用程序,跨云迁移和部署变得非常重要。能够将应用程序从一个云平台迁移到另一个云平台,无缝部署并在多云环境中进行管理,将大大提高企业的灵活性和敏捷性。
-
多云容灾:由于云服务提供商可能会遇到可用性问题,因此在混合云场景中,多云容灾变得非常重要。通过在多个云平台上部署应用程序,企业可以在一个云平台遇到问题时,快速切换到另一个云平台上运行,以保持业务的连续性。
-
跨云数据管理:在混合云场景中,跨云数据管理也是一个重要的需求。能够在多个云平台上进行数据备份和恢复,以及在不同云平台之间共享数据,将为企业提供更强的灵活性和可扩展性。
基于Rainbond 的混合云建设
Rainbond云原生应用管理平台在设计之初就考虑了如何适应混合云管理场景。在产品设计中,Rainbond可以从逻辑上划分为控制台和集群端组件两大部分,其中控制台的多云管理模块可以使其对接并管理多个集群。而集群端组件可以部署在各类 Kubernetes 集群之中,通过与 Kube-apiserver 的通信来管理 Kubernetes 集群之中的各类资源。Rainbond 集群端组件可以部署到各类 Kubernetes 集群之中,包括标准 Kubernetes 集群、 K3s 集群,也可以部署到阿里云ACK托管服务、腾讯云 TKE 服务等托管集群之中。并能够适配公有云服务商所提供的多种云服务,比如通过CSI为业务Pod分配阿里云硬盘存储。
Rainbond控制台则提供了多集群管理的唯一入口,用户不需要过多学习,就可以掌握面向不同云环境发布应用的操作步骤。而这些操作步骤是统一且易用的,不受低层不同云环境的掣肘。
团队工作空间隔离
Rainbond云原生应用管理平台在控制台层建设用户体系,这意味着用户体系与低层云环境无关,Rainbond 通过自身RBAC权限体系来决定用户可以访问哪些云环境所对应的工作空间中的资源。Rainbond 通过团队这一抽象概念来划分用户的工作空间。团队与低层云环境的对应关系可以是共享的,也可以是独享的。用户一旦加入指定的团队,即可使用团队所开通的集群。
- 共享模式:即一个团队在多个不同的集群中开通,团队一旦在多个集群中开通,就会在其中同时创建同名的命名空间。在这个团队中的用户,自然可以在不同的集群中部署自己的业务系统。不同集群的操作入口由控制台提供,非常容易理解。
- 独享模式:独享模式更好理解,即在指定的集群中开通命名空间与之对应,用户仅可以使用这个集群中的计算资源。
基于团队这一工作空间的抽象,用户可以在其中完成应用的发布与管理操作。Rainbond 提供更多能力丰富其管理能力,包括操作审计、资源限额、权限管理等能力。
多云容灾
混合云多云容灾是在混合云场景中,为了确保应用的高可用性和容灾能力而采取的一种策略。在混合云环境中,由于应用可能部署在不同的云平台上,因此需要确保即使某一云平台出现故障或不可用,应用仍能够在其他云平台上继续运行。这就需要实现混合云多云容灾,使得应用可以在不同云平台之间实现无缝切换,确保应用的高可用性和容灾能力。
Rainbond 的多云管理机制为多云容灾打造了坚实的低层框架,纵使 Rainbond 在自身高可用能力上投入甚多,但我们依然不能假定集群级别的宕机崩溃不会发生。生产环境中常借助云服务商提供的其他能力一起建设健壮的多云容灾场景。额外要引用的能力包括:
- 智能化的网络入口切换能力:Rainbond 依靠 CDN 和智能 DNS 的协作,完成网络入口智能切换的能力。在平时,外部流量可以根据地域自动切换到就近的网关进行访问。在集群级别的宕机发生时,则将有故障的集群入口下线。
- 数据同步能力:无论用户访问到哪一个集群中的服务,都会得到同样的反馈,保障这个效果的前提是多个集群中的业务数据实时同步。Rainbond 不提供数据同步能力,这一部分我们需要依靠公有云供应商提供的数据同步服务来保障。阿里云提供的 DTS 服务是其中的代表。
- 专线网络能力:多个集群之间的数据同步往往不会轻易从公共网络中穿梭。从安全性和可靠性的角度出发,我们更倾向于使用专线网络进行多个集群之间的通信,尤其是在数据跨云同步场景里。
从整体架构上考虑多云容灾是我们的首要任务。但面对数据灾难,我们能做的不仅仅是防患未然,如何进行灾难后的恢复也是非常重要的一环。Rainbond云原生管理平台提供两个层次的备份恢复能力,首先是为Rainbond平台本身进行备份,确保平台自身可以恢复;其次是针对应用的备份能力,能够将包括持久化数据在内的应用进行整体备份。机房可以被战争、火灾或者自然灾祸摧毁,但只要运维人员手里拥有备份数据,整个Rainbond混合云平台及运行其上的应用就可以被重建。
跨云应用部署
在混合云场景中,业务应用是一等公民,应用如何能够在不同的云环境中自由部署实际上是对混合云管理场景最基础的要求。在这个方面,Rainbond云原生应用管理平台以应用模板的交付流程来打通应用跨云部署的屏障。
应用交付一直是 Rainbond 致力解决的痛点问题。现代微服务动辄会将业务系统拆分成为几十个相互关联的微服务,利用传统方式将其部署到 Kubernetes 容器云环境中,不免要为数十份复杂的 Yaml 文件和容器镜像头痛不已。加之不同的云供应商所提供的云环境也不相同,更加灾难化了应用交付的体验。
前文中已经说到,Rainbond云原生应用管理平台已经在混合云场景下抹平了不同云环境的使用体验。在应用跨云交付场景中也是如此,复杂的微服务系统在 Rainbond 中被抽象成为了一个可以统一管理、统一交付的应用。通过将应用发布成为应用模板,即可在不同的集群之间完成一键安装和升级。极大的降低了软件交付成本。
写在最后
混合云管理场景是眼下云计算领域最炙手可热的话题,利用 Rainbond 云原生应用管理平台打造的混合云可以解决大多数难点与痛点。面向未来展望,Rainbond 会在混合云管理领域继续发力,围绕更复杂的场景,纳管更多种不同的云资源。比如通过与 Kubedge 的集成,将混合云解决方案扩展到边缘计算场景。
相关文章:
基于 Rainbond 的混合云管理解决方案
内容概要:文章探讨了混合云场景中的难点、要点,以及Rainbond平台在跨云平台的混合云管理方面的解决方案。包括通过通过统一控制台对多集群中的容器进行编排和管理,实现了对混合云中应用的一致性管理。文章还介绍了Rainbond平台在混合云环境下…...
加强网络风险生命周期
当今业务环境中云原生应用程序的激增帮助组织简化了运营。 企业现在可以近乎实时地监控数据、与客户互动并分享见解,帮助他们克服曾经阻碍生产力的低效率问题。 然而,使用云也极大地扩展了企业可利用的攻击面。 CSPM、CWPP、CNAPP、SAST、SCA、IaC、D…...
Java——二叉树的深度
题目链接 牛客网在线oj题——二叉树的深度 题目描述 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度,根节点的深度视为 1 。 数据范围&am…...
一般现在时(二)
一般现在时(二) 1.什么叫实义动词? 实义动词是指表示有具体意思的动词,也叫行为动词。 例如:like(喜欢) eat(吃) live(居住) have(有) run(跑)等等。 实义动词占英语中动词的绝大多数 🔖我们已学过的be动词可译为是,有时译为成为,有时则没有具体意…...
leetcode657. 机器人能否返回原点
题目描述解题思路执行结果 leetcode657. 机器人能否返回原点 题目描述 机器人能否返回原点 在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束。 移动顺序由字符串 moves 表示。字符 mov…...
DAY 48 Nginx的 location与rewrite模块
[正则表达式] 常用的[Nginx] 正则表达式 $ :匹配输入字符串的结束位置* :匹配前面的字符零次或多次。如“ol*”能匹配“o”及“ol”、“oll” :匹配前面的字符一次或多次。如“ol”能匹配“ol”及“oll”、“olll”,但不能匹配“…...
Linux 常用操作技巧
Linux 操作技巧大全 Linux是一种强大的操作系统,掌握各种操作技巧可以帮助我们惬意地使用它。在这篇博客中,我们将分享一些实用的Linux技巧,希望能对您有所帮助! 1. 使用Tab进行自动补全 在输入命令时,按下Tab键可…...
BetaFlight统一硬件配置文件研读之timer命令
BetaFlight统一硬件配置文件研读之timer命令 1. 源由2. 代码分析3. 实例分析4. 配置情况4.1 AFn配置查表4.2 timer4.3 timer show4.4 timer pin list 5. 参考资料 统一硬件配置文件的设计是一种非常好的设计模式,可以将硬件和软件的工作进行解耦。 1. 源由 cli命令…...
码出高效:Java开发手册笔记(java对象四种引用关系及ThreadLocal)
码出高效:Java开发手册笔记(java对象四种引用关系及ThreadLocal) 前言一、引用类型二、ThreadLocal价值三、ThreadLocal副作用 前言 “水能载舟,亦能覆舟。”用这句话来形容 ThreadLocal 最贴切不过。ThreadLocal 初衷是在线程并…...
为什么要进行数据决策?数据决策对企业而言有何重要意义?
“大数据”几乎已成为时下最时髦的词汇,不夸张地说,当今各行各业无不对大数据充满了向往,希望自己在新一轮的大数据营销中抢占先机。同时,从大数据中引申出的数据挖掘、数据分析、数据安全等数据运用技术也成为人们热捧的焦点。 …...
2. Java 异常体系
2.1 Throwable java.lang.Throwable 类是 Java 程序执行过程中发生的异常事件对应的类的根父类。 Throwable 中的常用方法: public void printStackTrace():打印异常的详细信息。 包含了异常的类型、异常的原因、异常出现的位置、在开发和调试阶段都得…...
如何学好STM32,需要哪些步骤?
学习STM32应用于项目开发需要以下步骤: 学习STM32的基本知识:包括STM32的架构、寄存器、外设等,理解STM32的工作原理和基本操作方法。 学习嵌入式系统和RTOS的基础知识:了解嵌入式系统的概念、RTOS的基本原理和使用方法ÿ…...
武忠祥老师每日一题||不定积分基础训练(四)
∫ d x 1 x 3 \int \frac{\rm dx}{1x^3} ∫1x3dx 解法一: 待定系数法: ∫ d x 1 x 3 \int \frac{dx}{1x^3} ∫1x3dx ∫ d x ( 1 x ) ( x 2 − x 1 ) \int \frac{dx}{(1x)(x^2-x1)} ∫(1x)(x2−x1)dx 1 3 ∫ ( 1 x 1 − x 2 x 2 − x …...
记一次产线打印json导致的redis连接超时
服务在中午十一点上线后,服务每分钟发出三到四次redis连接超时告警。错误信息为: Dial err:dial tcp: lookup xxxxx: i/o timeout 排查过程 先是检查redis机器的情况,redis写入并发数较大,缓存中保留了一小时大概400w条数据。red…...
FPGA入门系列12--RAM的使用
文章简介 本系列文章主要针对FPGA初学者编写,包括FPGA的模块书写、基础语法、状态机、RAM、UART、SPI、VGA、以及功能验证等。将每一个知识点作为一个章节进行讲解,旨在更快速的提升初学者在FPGA开发方面的能力,每一个章节中都有针对性的代码…...
【三十天精通Vue 3】第二十六天 Vue3 与 TypeScript 最佳实践
✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: 三十天精通 Vue 3 文章目录 引言一、为什么使用TypeScript?二、Vue 3和TypeScript…...
ffmpeg-mov-metadate不识别Bug修复
文章目录 BUG起因类似问题反馈问题解决具体步骤: 阅读过文章ffmpeg命令行解析调试流程记录movenc.c源码分析 BUG起因 在ffmpeg参数默认可识别的metadata参数如下: 具体可见libavformat/movenc.c->mov_write_udta_tag() mov_write_string_metadata(s,…...
(8)(8.6) 引导程序更新
文章目录 前言 1 我在哪里可以下载最新的引导程序? 2 使用任务规划器进行升级...
汽车电路图、原理框图、线束图、元器件布置图的识读技巧与要点
摘要: 想要读懂汽车电路图就必须把电的通路理清楚,即某条线是什么信号,该信号是输入信号、输出信号还是控制信号以及信号起什么作用,在什么条件下有信号,从哪里来,到哪里去。 一、汽车电路图的识读技巧 1.…...
( 数组和矩阵) 667. 优美的排列 II ——【Leetcode每日一题】
❓667. 优美的排列 II 难度:中等 给你两个整数 n 和 k ,请你构造一个答案列表 answer ,该列表应当包含从 1 到 n 的 n 个不同正整数,并同时满足下述条件: 假设该列表是 answer [a1, a2, a3, ... , an] ࿰…...
【python基础语法七】python内置函数和内置模块
内置全局函数 abs 绝对值函数 print(abs(-1)) # 1 print(abs(100)) # 100round 四舍五入 """奇进偶不进(n.5的情况特定发生)""" res round(3.87) # 4 res round(4.51) # 5 # res round(2.5) # 2 # res round(3.5) # 4 res round(6.5) # …...
81. read readline readlines 读取文件的三种方法
81. read readline readlines 读取文件的三种方法 文章目录 81. read readline readlines 读取文件的三种方法1. 读取文件的三种方法2. read方法3. readline方法4. readlines方法5. 代码总结5.1 read方法读取全部内容5.2 readline方法读取一行,返回字符串5.3 readli…...
【社区图书馆】【图书活动第四期】
目录 一、前言 二、作者简介 三、《PyTorch高级机器学习实战》内容简介 四、书目录 一、前言 今天,偶尔逛到csdn社区图书馆,看到有活动 “【图书活动第四期】来一起写书评领实体奖牌红包电子勋章吧!”(活动到今天结束…...
webpack学习指南(上)
构建流程 Webpack 的构建流程可以分为以下几个步骤: 解析配置文件:Webpack 会读取项目中的 webpack.config.js 文件,并解析其中的配置项。 解析入口文件:Webpack 通过配置文件中设置的 entry 入口,递归地解析出所有依…...
刷题记录˃ʍ˂
一、1033. 移动石子直到连续 思路 这道题是一道数学题,它一共分为三种可能 第一种可能为三个石子本来就是连续的时候 第二种可能为最少步数为1的时候,相邻石子不能大于一格 第三种可能为最少步数为2的时候,这时相邻石子大于一格 那么第二…...
Word2vec原理+实战学习笔记(二)
来源:投稿 作者:阿克西 编辑:学姐 前篇:Word2vec原理实战学习笔记(一) 视频链接:https://ai.deepshare.net/detail/p_5ee62f90022ee_zFpnlHXA/6 5 对比模型(论文Model Architectur…...
什么是Java的多线程?
Java的多线程是指在同一时间内,一个程序中同时运行多个线程。每个线程都是一个独立的执行路径,可以独立地执行代码。Java中的多线程机制使得程序可以更高效地利用计算机的多核处理器和CPU时间,从而提高程序的性能和响应能力。 创建和使用Jav…...
“use strict“是什么? 使用它有什么优缺点?
严格模式 - JavaScript | MDN Javascript 严格模式详解 - 阮一峰的网络日志 1、"use strict" 是什么? "use strict" :指定代码在严格条件下执行; 2、 使用 "use strict" 有什么优缺点? ① 严格模式通过抛出错…...
【C++】C++11常用特性总结
哥们哥们,把书读烂,困在爱里是笨蛋! 文章目录 一、统一的列表初始化1.统一的{}初始化2.std::initializer_list类型的初始化 二、简化声明的关键字1.decltype2.auto && nullptr 三、STL中的一些变化1.新增容器:array &…...
泛型——List 优于数组
数组与泛型有很大的不同: 1. 数组是协变的(covariant) 意思是:如果Sub是Super的子类型,则数组类型Sub[] 是数组类型Super[] 的子类型。 2. 泛型是不变的(invariant) 对于任何两种不同的类型Ty…...
网站导航如何用响应式做/google网站
、1 向量1起点在向量2左侧,终点在左侧;向量2起点在向量1右侧,终点在右侧 2 向量1起点在向量2右侧,终点在右侧;向量2起点在向量1左侧,终点在左侧 3 向量1起点在向量2右侧,终点在左侧;…...
网站建设不完整/天天seo伪原创工具
(1)如何将一个jar进行执行? 在java开发中,直接使用shell脚本执行***。sh文件。 文件中执行某一个类加载进行类的加载,MATE_INF下面执行某个类进行启动。 整个类启动之后会启动一个java的进程和一个主线程࿰…...
深圳十大景观设计公司排名/seo快速软件
如果把指标⽐喻成⼀棵树上的果实,那模型就是这棵⼤树的躯⼲,想让果实结得好,必须让树⼲变得粗壮。真实场景举例:⼤多数公司的分析师会结合业务做⼀些数据分析(需要⽤到⼤量的数据),通过报表的⽅…...
网站集约化建设意见和建议/免费推广工具
1、 清空iptables 设置。iptables -F iptables -X iptables -Z2、配置允许(自己)22登录端口进入iptables -t filter -A INPUT -p tcp --dport 22 -s 10.10.70.103 -j ACCEPT3、设置允许本机lo通信。iptables -t filter -A INPUT -i lo -j ACCEPTiptables -t filter -…...
web网站双语切换怎么做/搜索引擎谷歌
0882reachableSubNodes 细分图中的可到达结点 1 题目 https://leetcode.cn/problems/reachable-nodes-in-subdivided-graph/ 2 解题思路 1 解题思路:类似的题目:https://leetcode.cn/problems/partition-array-into-two-arrays-to-minimize-sum-diff…...
如何推广自己的店铺?/网站制作优化
一、JAVA NIO NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selector。传统IO基于字节流和字符流进行操作,而NIO基于Channel和Buffer(缓冲区)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道…...