KubeVela 成为 CNCF 沙箱项目,让云端应用交付更加简单
简介: KubeVela 就是这样一个面向用户的上层平台项目。对于业务开发者来说,KubeVela 简单、易用,它可以让开发者以极低的心智负担和上手成本在 Kubernetes 上定义与部署应用... 但更重要的是,对于平台团队来说,KubeVela 可不是一个简单的 PaaS 或者 Serverless,它是一个能够以 Kubernetes 原生的方式进行任意扩展的 PaaS 内核,平台工程师可以基于它构建出任意的垂直业务系统。
作者:KubeVela 社区
2021 年 6 月 22 日,在云原生计算基金会(CNCF)的 TOC 例会上投票决议通过,KubeVela 正式成为 CNCF 官方沙箱项目。透明、开放、开源中立的 KubeVela,未来将持续致力于打造统一、标准、跨云的应用管理和交付体验。
“KubeVela 就是这样一个面向用户的上层平台项目。对于业务开发者来说,KubeVela 简单、易用,它可以让开发者以极低的心智负担和上手成本在 Kubernetes 上定义与部署应用... 但更重要的是,对于平台团队来说,KubeVela 可不是一个简单的 PaaS 或者 Serverless,它是一个能够以 Kubernetes 原生的方式进行任意扩展的 PaaS 内核,平台工程师可以基于它构建出任意的垂直业务系统。”
张磊,CNCF TOC Member
KubeVela 项目地址:_https://github.com/oam-dev/kubevela
项目介绍
云原生技术正在以 Kubernetes 作为通用抽象层,朝着跨云追求一致的应用交付迈进。Kubernetes 虽然在底层基础结构细节抽象方面表现出色,但带来了额外的复杂性。基于 Kubernetes 打造的各类 PaaS 林立却又互不相通,导致服务应用开发的平台团队,没有一个合适的框架来构建用户友好且高度可扩展的抽象。与此同时,混合云、多云、分布式云这些日益复杂的业务场景中,应用交付也在逐渐变得碎片化。
用 Go 语言开发的应用交付引擎 KubeVela,能帮我们克服以上所有难题。作为 OAM(Open Application Model)在 Kubernetes 上的实现,KubeVela 项目从 oam-kubernetes-runtime 演进至今,发展势头非常迅猛,不仅连续登上 GitHub Go 语言趋势榜首和 HackerNews 首页,更是迅速收获了包括 MasterCard、Springer Nature、第四范式、SILOT、Upbound 等来自世界各地、不同行业的终端用户,甚至还出现了像 Oracle Cloud、Napptive 等基于它构建的商业化产品。就在 2021 年 3 月底,KubeVela 社区宣布包含所有稳定版 API 的 v1.0版本 发布,正式开始向企业级生产可用迈进。
KubeVela 技术架构图
核心思路
对于平台开发人员而言,KubeVela 作为框架,通过执行以下操作来减轻构建以开发人员为中心的平台的烦恼:
- 以开发人员为中心。KubeVela 通过引入 Application 的概念来抽象基础架构级别的原语,从而捕获微服务的完整部署,然后根据应用程序的需求构建操作功能。
- 本地扩展。Application 由模块化的构建块组成,这些构建模块支持 CUELang【1】 和 Helm 【2】作为模板引擎。这使你能够以乐高风格抽象 Kubernetes 的功能,并通过简单的 kubectl apply -f 将它们发布给最终用户。对抽象模板所做的更改将在运行时生效,无需重新编译或重新部署 KubeVela。
- 简单而可靠的抽象机制。与大多数 IaC(基础设施即代码)解决方案不同,KubeVela 中的抽象是用 Kubernetes Control Loop 【3】构建的,所以它们永远不会在集群中留下配置漂移。作为 Kubernetes 自定义资源【4】,KubeVela可以与任何 CI/CD 或 GitOps 工具无缝协作,不需要进行集成工作。
有了 KubeVela,平台构建者终于有了工具支持,可以设计易于使用的抽象,并以高信心和低周转时间将它们交付给终端用户。
对于终端用户(例如应用程序开发人员)来说,这种用 KubeVela 构建的抽象将使他们能够以最少的努力设计并向 Kubernetes 发布应用程序 —他们要做的只是定义一个简单的应用程序,可以轻松地与任何 CI/CD 集成,而不需要管理一些基础设施细节。
更进一步,KubeVela 目前典型的应用场景有很多,比如:
- SasS 软件云端托管
- 面向混合云/分布式云的应用 PaaS
- 面向混合环境的 DevOps 平台,包括多集群/多环境 CD/CD 等
未来展望
为了更好的满足云原生下应用交付的更加快速、多变和复杂等业务需求特性,KubeVela 将遵循以下的 Roadmap 进一步演进:
- 目前 Component 接入需要通过 CUE 来实现对接转换。接下来,我们打算对已有的体系做更好的支持 -- 这包括已有的 Helm Chart、Kustomize 目录、Terraform Module 能够直接接入成为 Component。以 Helm Chart 为例,它的 values.schema.json 将对接成为 properties,输出的资源等同于 helm template 渲染后的结果。
- 添加环境初始化 (Initializer) 的能力,为开发团队提供公共的部署环境,比如集群、系统 Operators & CRDs、公共服务 (Load Balancer, VPC, DB) 等。
- 添加面相应用发布过程的 Workflow 能力,让用户可以定义面向过程的运维命令。所有内置运维操作也将往 Workflow 方向改造,包括 apply resources、灰度升级、流量管理、多集群等。同时也会新增配置差异化、数据传递等新功能。同时 Workflow 能力整体设计是可插拔的,用户可以实现自己的能力(比方说灰度发布)来添加或替换。
- Vela 系统部署上提供 standalone 模式,不需要 K8s 作为运行时底座,可以在单个容器/VM 里面运行起来,适应一些比较复杂的管控部署环境。
- 用户体验这一侧,velacp 项目将去除 mongodb 依赖而转为直接使用 CRD 做存储。添加更多的垂直场景,实现端到端一键交付能力,产出 App Profile 这种可被分享复用的场景制品解决方案。
- 跟 CICD 系统做更好的集成,包括 Github Actions、Jenkins 等,能够让用户实现 git push 就将应用发布出去。
2021 年 5 月 26 日,由阿里云计算有限公司、中国信息通信研究院等 10 余家单位联合发起的《云计算开放应用架构》标准文件在“云原生产业大会”现场发布。该架构以阿里云、微软云联合发起的开源项目“开放应用架构模型(Open Application Model,以下简称 OAM)”为实现基础,旨在为云端应用管理者提供统一的应用描述规范及开放应用程序能力管理框架,以期推动简洁、高效、可控的云原生应用管理与交付方式在更多行业和企业中的大规模落地。
我们可以看到作为 KubeVela API Specification 的 OAM 正在汇聚行业共识,KubeVela 社区目前也在 GitHub 上获得 2.2k+ Star 认可,吸引到 3+ Maintainer、85+ Contributor 共建,以及 SheIn、滴普、谐云和风变科技等众多用户开始运用 KubeVela 在生产环境上。
本文为阿里云原创内容,未经允许不得转载。
KubeVela 成为 CNCF 沙箱项目,让云端应用交付更加简单的更多相关文章
- Aeraki Mesh正式成为CNCF沙箱项目,腾讯云携伙伴加速服务网格成熟商用
6月,由腾讯云主导,联合百度.灵雀云.腾讯音乐.滴滴.政采云等多家合作伙伴发起的服务网格开源项目 Aeraki Mesh 通过了全球顶级开源基金会云原生计算基金会(CNCF)技术监督委员会评定,正式成 ...
- 腾讯首个CNCF沙箱开源项目
作者 SuperEdge开发者.腾讯云容器产品中心边缘计算团队.腾讯开源生态管理协会 SuperEdge 进入 CNCF 沙箱 2021 年 9 月 14 日,云原生分布式边缘容器系统 SuperEd ...
- 重磅!业界首个云原生批量计算项目Volcano正式晋级为CNCF孵化项目
摘要:4月7日,云原生计算基金会(CNCF)宣布,由华为云捐献的业界首个云原生批量计算项目Volcano正式晋级为CNCF孵化项目. 4月7日,云原生计算基金会(CNCF)宣布,由华为云捐献的业界首个 ...
- 灵雀云Kube-OVN进入CNCF沙箱,成为CNCF首个容器网络项目
昨日,云原生计算基金会 (CNCF) 宣布由灵雀云开源的容器网络项目Kube-OVN 正式进入 CNCF 沙箱(Sandbox)托管.这是全球范围内首个被CNCF纳入托管的开源CNI网络项目,也是国内 ...
- Android UI(四)云通讯录项目之云端更新进度条实现
作者:泥沙砖瓦浆木匠网站:http://blog.csdn.net/jeffli1993个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节.交流QQ群:[编程之美 365234583]h ...
- Falco 进入 CNCF Incubator 项目 | 云原生生态周报 Vol. 35
作者 | 王思宇.陈洁.敖小剑 业界要闻 Falco 进入 CNCF Incubator 项目 原于 2018 年 8 月进入 sandbox,旨在 Kubernetes 运行时环境下支持配置规则来加 ...
- DevStream 成为 CNCF Sandbox 项目啦!- 锣鼓喧天、鞭炮齐鸣、红旗招展、忘词了。
开局两张图,内容全靠"编" 来,有图有真相! DevStream ️ CNCF DevStream joins CNCF Sandbox CNCF Cloud Native Int ...
- IOS-小项目(饿了么 网络部分 简单实现)
在介绍小项目之前,在此说明一下此代码并非本人所写,我只是随笔的整理者. 在介绍之前先展现一下效果图. 看过效果图大家应该很熟悉了,就是饿了么的一个界面而已,值得注意的是,实现时并没有采用本地连接,而是 ...
- 转载分享----一线交付眼中的为何"项目总是迟迟无法交付”
当初博主在一线交付BOSS系统中承担过TC角色 交付的路途很艰辛,加班到10点多或1点多第二天8点上班,还有通宵的日子 还有无数个问题从开始到关闭的周期,各种催人,各种掐架拉会,各种被甲方嫌弃 看到这 ...
- cocos2dx之lua项目开发中MVC框架的简单应用
**************************************************************************** 时间:2015-03-31 作者:Sharin ...
随机推荐
- RTMP录屏直播屏幕数据获取与MediaCodec编码
目录 前言 RTMP直播实现流程 视频采集--MediaProjection 编码--MediaCodec 音频采集--AudioRecord RTMP音频包数据 RTMP视频数据 前言 本文介绍的是 ...
- 01_Mac安装Homebrew
目录 1 官方 1.1 前提 1.2 安装 2 其他安装方法 2.1 安装homebrew-core 2.2 安装homebrew-cask 3 源 3.1 查看源 3.2 设置源 3.3 设置bot ...
- 【2310. 个位数字为 K 的整数之和】背包
import java.util.*; class Solution { public static void main(String[] args) { Solution solution = ne ...
- django(Ajax、自定义分页器、form组件)
一.Ajax 1 概述 异步提交局部刷新 例子:github注册 动态获取用户名实时的跟后端确认并实时展示到前端(局部刷新) 朝后端发送请求的方式 1.浏览器地址栏直接输入url回车 GET请求 2. ...
- python面向对象(绑定方法与非绑定方法)
# 一.绑定方法:特殊之处在于将调用者本身当做第一个参数自动传入 # 1)绑定给对象的方法:调用者是对象,自动传入的是对象 # 2)绑定给类的方法:调用者是类,自动传入的是类 # 类方法的应用 # 需 ...
- Cesium之双屏联动实现
1. 概述 双屏联动是常见的一种地图开发需求,主要用于同时查看两个地图,进行对比查看,还有一种类似的需求叫"卷帘门"(map split) 双屏联动效果如下: 卷帘门的效果如下: ...
- 无人不识又无人不迷糊的this
本文分享自华为云社区<3月阅读周·你不知道的JavaScript | 无人不识又无人不迷糊的this>,作者: 叶一一. 关于this this关键字是JavaScript中最复杂的机制之 ...
- 连接Windows 平台 KingbaseES异常
概述 应用连接Windows平台的KingbaseES 数据库,报错"com.kingbase8.util.KSQLException: 致命错误: 用户"system" ...
- hadoop集群查看所有主机的jps进程情况脚本文件
jpsall代码 #!/bin/bash for host in hadoop102 hadoop103 hadoop104 do echo =============== $host ======= ...
- 10 JavaScrit定时器
10 JavaScrit定时器 在JS中, 有两种设置定时器的方案: // 语法规则 t = setTimeout(函数, 时间) // 经过xxx时间后, 执行xxx函数 // 5秒后打印我爱你 t ...