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 ...
随机推荐
- epoll水平触发与边缘触发
把高电平看作文件描述符是可读或可写状态,低电平黑色表示不可读或不可写,epoll_wait的水平触发就是蓝色的时候epoll_wait就会被触发,而边缘触发就是红色的时候epoll_wait会触发,且 ...
- HTML/ CSS 入门
前言 我们在之前的学习中,对于网络有了一定的了解.现在我们来学习一些基础的 HTML/ CSS 知识.希望阅读完这篇文章能达到编写简单页面的程度. 目录: HTML/ CSS 的发明: HTML 基础 ...
- C#无需第三方插件实现json和table互转
using System; using System.Collections.Generic; using System.Collections; using System.Linq; using S ...
- 一篇文章了解CI/CD管道全流程
从CI/CD过程开始,包含所有阶段并负责创建自动化和无缝的软件交付的一系列步骤称为CI/CD管道工作流.使用CI/CD管道,软件发布工件可以从代码提交阶段到测试.构建.部署和生产阶段在管道中移动和前进 ...
- #网络流,分层图#洛谷 4400 [JSOI2008] Blue Mary的旅行
题目 分析 考虑答案一定最大不超过\(n\),那么可以建分层图, 若当前最大流等于\(n\),直接输出枚举的天数 \((x,x')\)容量为\(inf\),\((x,y')\)容量为一个航班最多的票数 ...
- webpack 4 快速搭建
安装 npm install --save-dev webpack@4.30.0 webpack-cli@3.3.2 更新 package.json 脚本 "scripts": { ...
- Java 枚举(Enums)解析:提高代码可读性与易维护性
接口 在 Java 中,实现抽象的另一种方式是使用接口. 接口定义 接口是一个完全抽象的类,用于将具有空方法体的相关方法分组: // 接口 interface Animal { public void ...
- Windows下Net6开源akstream项目vs2022调试GB28181协议对接摄像头全流程
一.背景介绍 笔者经历多个项目对接摄像头需求,不同项目具体要求又有所不同,碰到的摄像头对接开发问题,整理记录.此篇主要用于记录备用及给有缘人提供解决思路等. 1. 同一局域网对接(海康摄像头),如 ...
- 每日一题--Python打印金字塔
def day1(num): s = 'abcdefghijklmnopqrstuvwxyz' * (num // 26 + 1) for i in range(1, num + 1): print( ...
- cmd中怎么清屏--cls
平时我们在 Linux 系统中清除屏幕 用的命令是: clear 现在在Windows上用的清屏命令是 : cls