DaoCloud 结合 Karmada 打造新一代企业级多云平台

news/2024/12/5 5:19:15/

 

上周 Cloud Native Days China 南京站  Meetup 顺利举行,「DaoCloud 道客」大容器团队技术负责人-张潇在会上以《DaoCloud 结合 Karmada 打造新一代企业级多云平台》为主题,与 Karmada 社区及其合作伙伴一起,共同交流云原生多云多集群生产实践经验。现将演讲内容整理如下,以供读者飨食。

01

需求与困扰

今年 2 月,CNCF 发布了一项调研,数据显示,已经有 96% 的企业采用了 Kubernetes,其中 79% 的企业使用的都是通过采购的、拥有 CNCF 官方认证的 Kubernete 平台。因为 Kubernetes 其实是一个比较复杂的平台,里面集成了计算、存储、网络、调度编排等等各种功能,企业如果自己去开发和运维这样的一个平台,是十分耗费精力和成本的。而对于很多大企业来说,为了适应越来越庞大且复杂的云上业务发展需求,以及避免厂商锁定,必然会拥有多个集群和采购多家厂商的 Kubernetes 平台。那么问题就来了,面对集群繁多、业务分散、集群的边界限制等困扰,如何高效统一地管理多集群?

由此,基于客户的需求与困扰,「DaoCloud 道客」开始了多云产品的研究,并梳理出了八大关键点:云提供商多样性、变革敏捷性、灵活和可扩展性、强大安全性、网络性能改进、加强风险管理、避免供应商锁定、推动创新。

02

为何选择
karmada

首先,「DaoCloud 道客」对社区的各种开源项目进行了广泛的调研对比和筛选,最终选择了云原生多云编排开源项目 Karmada。其中,Karmada 最突出的一个点在于,可以让用户像使用单集群一样使用多集群。这意味着用户不必花费太多的学习成本,就能上手基于  Karmada 开发的企业级多云平台,因为用户在前期学习 Kubernetes 的时候已经打下了深厚的基础。通过 Karmada 最核心的能力-- Kubernetes 原生 API 兼容的能力,用户不必对原来使用的 Kubernetes 平台做过多的改造,就能很好地适配 Karmada 的多集群管理平台。同时,Karmada 还具有开放中立、告别绑定、开箱即用、集中式管理、丰富的集群调度策略和流量治理方案等特性和功能。

接着,「DaoCloud 道客」基于 Karmada 研发了一个企业级的多云管理功能模块-KairShip,旨在助力用户把业务从云下走向云上,单云丝滑切换到多云,让用户无需关注底层基础设施差异,不用过多接受新概念。现在 KairShip 已经完美集成到「DaoCloud 道客」最新发布的下一代云操作系统「云原生应用云平台 DaoCloud Enterprise 5.0」之中,通过与应用工作台、可观测性、全局管理、云原生化应用、多云编排、容器管理等功能模块结合,实现一键创建多云集群实例、多云管理权限、应用跨集群分发、存储及配置跨集群创建、跨集群资源检索、跨集群故障转移等多集群管理的核心能力。

图源:演讲 PPT

03

产品化
及未来探索

在 KairShip 中,「DaoCloud 道客」做了一些产品化的研发基础组件里,开发了负责 API 请求的 KairShip Apiserver,实现权限等同步控制逻辑的 KairShip Controller Manager,支持公有云、私有云、边缘场景网络互通的 network tunnel。同时引入了一些开源组件,如:支持 Karmada 实例 LCM 的 Karmada operator,支持多云资源检索查询加速的 Clusterpedia,以及提供 Karmada host 浏览器终端能力的 CloudTTY。其中, Clusterpedia 和 CloudTTY 是「DaoCloud 道客」自主开源的云原生项目。

图源:演讲 PPT 

KairShip 有三个非常重要的能力,第一个是多云多实例的实现。该功能主要为了满足两个客户需求,一是客户环境因素需要多个 Karmada 实例;二是快速一键接入各个集群,屏蔽底层网络等基础设置。因此,「DaoCloud 道客」在 Karmada 开源社区贡献了一个开源组件 Karmada operator,基于 Karmada 社区 helm charts,通过控制器搜集子集群概览信息到 Karmada 实例中,实现 Karmada 实例快速创建、更新、卸载以及 D1 D2 的维护,支持子集群快速一键接入 Karmada 实例。

图源:演讲 PPT 

第二个是多云权限,企业级的产品功能最头疼的就是权限问题。Karmada 应用编排过程权限问题怎么隔离?不同部门使用 Karmada,能实现多租户隔离么?「DaoCloud 道客」把  Karmada Host 作为一个普通集群加到整个 DCE 5.0 的集群管理中,同时抽象出关键特征 (RBAC),与多租户中心进行对接,让 Karmada 实例级别实现逻辑层权限同步与校验,并利用 KairShip Apiserver 层进行 API 权限的校验,从而实现多云权限管理。

第三个就是多云资源检索,如何去统一地查看多个集群 (实例) 中的资源呢?「DaoCloud 道客」  通过 ClusterPedia 聚合多集群资源,在兼容 K8s OpenAPI 的基础上额外提供了更加强大的检索功能,让用户更快更方便地在多集群中获取到想要的任何资源。作为一个已经进入 CNCF 沙箱孵化的多云复杂检索工具,ClusterPedia 拥有诸多优势,如:支持查询资源时请求附带关系资源;兼容 Kubernetes OpenAPI,可以直接使用 kubectl 进行多集群检索,无任何依赖;兼容收集不同版本的集群资源,不受主集群版本约束;统一主集群和多集群资源检索入口;资源收集高性能,低内存等等。

在分享的最后,张潇表示得益于 Karmada 社区的不断发展和各方面的愈加完善,「DaoCloud 道客」聚焦在用户体验提升以及企业级其他功能方面,做了差异化的补充。并且将大部分功能积极贡献回社区,坚持做时间的朋友。正如上面提到的向社区贡献的 Karmada operator 能力,希望能够与社区的小伙伴一起优化,为更多用户带来价值。

接下来,Karmada 社区将聚焦多云应用的东西向网络流量问题 (Karmada + Istio)、Karmada-host 控制面高可用 (ETCD)、Karmada 实例平滑升级、多云环境下数据服务如何更好地支持多云应用等方面的功能开发。欢迎广大开发者加入社区,一起使用、讨论与贡献。

图源:演讲 PPT 


http://www.ppmy.cn/news/7952.html

相关文章

T-SQL程序练习04

目录 一、写一个存储过程 𝐹𝑖𝑏𝑜𝑛𝑎𝑐𝑐 1. 具体要求 2. T-SQL程序代码 3. 结果显示 二、建立存储过程 𝑆𝑎𝑛𝐺𝑢…

Maven是怎么样构建Spring Boot项目的?

准备好项目运行所需的环境后,就可以使用IDEA开发工具搭建一个Spring Boot入门程序了。我们既可以使用Maven方式构建项目,也可以使用Spring Initializr快捷方式构建项目。这里先介绍如何使用Maven方式构建Spring Boot项目,具体步骤如下。 1.初…

Linux模块代码、编译、加载、卸载一条龙

最近要写一个Linux的内核模块&#xff0c;记录一下内核模块的代码编写、编译、加载和卸载的基本流程&#xff0c;以作备忘&#xff0c;也希望能帮到有需要的同学。 模块代码 //代码来自https://yangkuncn.cn/kernel_INIT_WORK.html //init_works.c #include <linux/kernel…

Java死锁

一.死锁是什么&#xff1f; 死锁指两个或者两个以上的线程在执行过程中&#xff0c;去争夺同样一个共享资源&#xff0c;造成的相互等待的现象&#xff0c;如果没有外部干预&#xff0c;线程会一直阻塞&#xff0c;无法往下执行&#xff0c;这样一直处于相互等待资源的线程叫做…

什么品牌的蓝牙耳机音质最好?高品质蓝牙耳机排行榜

近年来&#xff0c;大量的蓝牙耳机品牌厂商涌入市场&#xff0c;蓝牙耳机的需求不断提高&#xff0c;但质量一直是人们担心的问题&#xff0c;今天就为大家盘点几款当前音质表现不错的真无线蓝牙耳机。 一、南卡小音舱蓝牙耳机 发声单元&#xff1a;13.3mm 网友推荐系数&…

力扣(LeetCode)363. 矩形区域不超过 K 的最大数值和(2022.12.30)

给你一个 m x n 的矩阵 matrix 和一个整数 k &#xff0c;找出并返回矩阵内部矩形区域的不超过 k 的最大数值和。 题目数据保证总会存在一个数值和不超过 k 的矩形区域。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,0,1],[0,-2,3]], k 2 输出&#xff1a;2 解释&…

UE4 SoundCue声音节点总结

最近撸了一下音效&#xff0c;做个总结Mark一下&#xff1a; 1.Cue文件&#xff1a;音频序列化文件&#xff0c;能够对多个音频文件进行排序、组合、淡入淡出等操作&#xff0c;做出新的音频文件 2.Cue文件中的“声音节点” 2.1按参数交叉淡化&#xff1a; 节点及参数详解&…

【数组】leetcode704.二分查找(C/C++/Java/Js)

leetcode704.二分查找1 题目2 思路2.1 二分法区间--左闭右闭写法2.2 二分法区间--左闭右开写法3 代码&#xff08;均使用左闭右闭&#xff09;3.1 Java版本3.2 C版本3.3 C版本3.4 JavaScript版本4 小结1 题目 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nu…