kubevela

KubeVela 是一个简单易用且高度可扩展的应用管理平台与核心引擎。KubeVela 是基于 Kubernetes 与 Open Application Model(OAM) 技术构建的。



OAM 全称是 Open Application Model,从名称上来看它所定义的就是一种模型,同时也实现了基于 OAM 的我认为这种模型旨在定义了云原生应用的标准。



开放(Open):支持异构的平台、容器运行时、调度系统、云供应商、硬件配置等,总之与底层无关
应用(Application):云原生应用
模型(Model):定义标准,以使其与底层平台无关
在 OAM 中,一个应用程序包含三个核心理念。



第一个核心理念是组成应用程序的组件(Component),它可能包含微服务集合、数据库和云负载均衡器;
第二个核心理念是描述应用程序运维特征(Trait)的集合,例如,弹性伸缩和 Ingress 等功能。它们对应用程序的运行至关重要,但在不同环境中其实现方式各不相同;
最后,为了将这些描述转化为具体的应用程序,运维人员使用应用配置(Application Configuration)来组合组件和相应的特征,以构建应部署的应用程序的具体实例
对于开发人员来说,KubeVela本身是一个易于使用的工具,能够以最小的工作量描述应用程序并将其发布到Kubernetes。只需管理一个以应用程序为中心的工作流程即可轻松地与任何CI / CD管道集成,无需管理少量的Kubernetes YAML文件,只需一个简单的docker -compose样式的Appfile。




KubeVela 只有一个 controller 并且以插件的方式运行在 Kubernetes 之上,为 Kubernetes 带来了面向应用层的抽象,以及以此为基础的面向用户的使用界面,即Appfile。Appfile 乃至 KubeVela 运行机制背后的核心,则是其能力管理模型 Open Application Model (OAM) 。基于这个模型,KubeVela 为系统管理员提供了一套基于注册与自发现的能力装配流程,来接入 Kubernetes 生态中的任意能力到 KubeVela 中,从而以“一套核心框架搭配不同能力”的方式,适配各种使用场景



https://www.lishuai.fun/2020/12/03/kubevela-1/



https://blog.zhiweiyin.com/k8s-notes/operator/declarative-api.html


Category k8s