OAM 应用(Application)

    KubeVela 的核心是将应用部署所需的所有组件和各项运维动作,描述为一个统一的、与基础设施无关的“部署计划”,进而实现在混合环境中标准化和高效率的应用交付。这使得最终用户无需关注底层细节,就可以使用丰富的扩展能力,并基于统一的概念自助式操作。

    每一个应用部署计划都由四个部分组成,分别是组件、运维能力、部署策略和工作流。其格式如下:

    • 运维特征(Trait): 运维特征是可以随时绑定给待部署组件的、模块化、可拔插的运维能力,比如:副本数调整(手动、自动)、数据持久化、 设置网关策略、自动设置 DNS 解析等。

    以上这些概念的背后都是由一组称为的可编程模块提供具体功能。KubeVela 会像胶水一样基于 Kubernetes API 定义基础设施定义的抽象并将不同的能力组合起来。下图描述了概念间的关系:

    alt

    插件(Addon):可编程能力及其实现构成的包

    插件包是由 OAM 的模块定义和背后的 组成的集合。KubeVela 社区已经有一个完善的且在不断扩大的插件目录,比如 提供了云资源的供给,fluxcd 插件 提供了 GitOps 能力等等。