根据上面的表述,vela完成两部分功能 :
综上,vela主要功能为定义应用部署的步骤和使用这些步骤构建应用部署。
这种功能上的分离使得不同的用户关注于各自的任务,无需关心其他细节。
KubeVela 的核心是将应用部署所需的所有组件和各项运维动作,描述为一个统一的、与基础设施无关的“部署计划”,进而实现在混合环境中标准化和高效率的应用交付。
定义一个应用就是编写一个部署计划,部署计划需要包括:
Application
对象包括4个部分: component
、trait
、policy
以及 workflow step
。这4个部分都有各自的类型,而这些类型的实现就是通过cue文件定义vela模块实现的。
component
包括:**Webservice、Task、Daemon等。**这些组件就是对K8s资源的封装,组件的properties
就相当于在编写K8s资源yaml
的sepc
部分中的某些内容。trait
包括:Affinity、Annotations、Command和Env等。从这里就可以看出, Application
对象其实就是在编写资源的yaml
文件,只不过对基础的资源进行了高层的抽象。