使用 YAML 描述插件应用
文档 自定义插件 介绍了插件的基本目录结构,并且说明了插件中所需要安装的 Kubernetes operator 应当被定义在一个 KubeVela 应用(Application)中。本文档将会详细介绍如何使用 YAML 格式的应用描述文件来定义这个应用。
应用描述文件通常需要包含两个部分,应用模版文件和 resources/ 目录下的资源文件。
应用模板文件就是用来定义这个插件应用的基础框架。你可以通过该文件描述这个应用的特定信息,比如你可以为应用打上特定的标签或注解,当然你也可以直接在该应用模版文件中添加组件,策略和设置工作流。
在这个例子中,我们定义的应用基础框架中包含了一个 类型的组件,组件中只包含了一个 Kubernetes namespace。
虽然你可以在应用模版文件中定义这个完整的应用,但这可能会导致应用模版文件过于庞大,所以你也可以选择在 目录下编写单独的文件去定义组件资源。
这个 YAML 中我们定义了一个 service account,经过渲染之后最终的应用为:
这里我们只是通过简单的 namespace 和 serviceAccount 来举例。通常一个 operator 所需要安装的 CRD 和工作负载(deployment 或 statefulSet)同样可以按照相同的方式被定义在这个应用当中。