资源定义
概念
资源定义用于声明一种新类型的资源,它描述该资源类型的名称、类型、匹配规则以及在特定条件下的管理员配置和使用的 UI 样式。这使得 Walrus 能够有效地理解和管理这种资源类型的生命周期,是实现构建多云应用、简化部署配置的核心。
类比容器中多架构的概念,允许在同一个镜像中包含不同架构的镜像 Manifest 配置,获取镜像时根据实际环境自动选择合适镜像,使得容器可以在不同硬件上无缝切换。 Walrus 资源定义就是部署过程中的 Manifest,包含不同规则的配置,在部署时,自动根据部署环境选择合适的部署模板。
资源定义包括四个部分:模板,匹配规则,模版配置和 UI 样式。
模板
资源定义支持使用Walrus 内置的模板或导入的模板。
匹配规则
资源定义的匹配规则通过选择器定义了匹配条件,以及部署该类型资源时使用的模板和预定义配置。
选择器
单个匹配规则可以包括多个选择器。这些选择器基于相等性,它们的组合通过逻辑与操作(AND)来功能。如果资源满足规则的所有选择器,则与匹配规则对齐,从而在部署过程中应用相关的模板和配置。
例如,带有选择器项目名称=foo
和环境名称=dev
的匹配规则匹配foo
项目的dev
环境中的资源,而不匹配test
环境中的资源。
规则优先级
匹配规则不是互斥的。也就是说,多个规则可以匹配单个资源。在这种情况下,将使用优先级最高的规则。优先级由规则中匹配的选择器评分决定,评分总和越高,优先级越高。选择器评分如下:
条件类型 | 环境类型 | 项目标签 | 项目名称 | 环境标签 | 环境名称 | 资源标签 |
---|---|---|---|---|---|---|
匹配分数 | 1 | 2 | 4 | 8 | 16 | 32 |
预定义模版配置
通过在匹配的规则下添加预定义配置,能够为用户提供最佳实践,简化用户部署配置。
输入输出和 UI 样式
资源定义的输入变量和输出是从其匹配规则中包含的所有模板的组合模式自动生成的。
例如,考虑一个资源定义,它在其匹配规则中使用模板 A 和 B。
- 模板 A 包括输入
image
和size
,以及输出endpoint
和status
。 - 模板 B 包括输入
image
和region
,以及输出endpoint
和create_time
。
因此,资源定义的模式将包括输入image
和输出endpoint
。
资源定义的 UI 样式是根据输入变量自动生成的,支持根据需求定制的用户界面样式,屏蔽复杂度。
管理资源定义
查看资源定义列表
- 在左侧边栏中点击
操作中心
。 - 选择
资源定义
标签以查看资源定义列表。
查看资源定义详情
- 在左侧边栏中导航到
操作中心
->资源定义
以访问资源定义列表。 - 找到您希望查看的资源定义并点击其名称以打开其详细页面。
- 在资源定义详细页面中,您可以查看资源定义的详细信息,包括其匹配规则,输入输出,UI 模式和使用该资源定义创建的资源列表。
- 在已创建的资源列表中,您可以对资源进行管理操作,例如启动、停止、部署、删除等。列表支持对项目名称和匹配规则进行筛选。
创建资源定义
- 在资源定义列表中选择
新建资源定义
。 - 完成表单。
名称
作为资源定义的标识符,名称
在系统内必须唯一。类型
表示资源的类型,相同类型
下可以有多个资源定义。匹配规则
指定了在特定条件下,这种类型的资源如何与模板对齐。更多信息请参阅资源定义匹配规则。 - 点击
保存
以完成创建。
删除资源定义
- 在左侧边栏中前往
操作中心
->资源定义
以查看资源定义列表。 - 确定您打算删除的资源定义。
- 在选择删除资源定义之前,请确保没有现有资源依赖于它。然后,点击
删除
按钮。 - 点击
确认
按钮确认删除。
自定义资源定义的 UI 模式
您可以自定义资源定义的 UI 模式。当您想简化或修改该类型资源的用户配置时,这一点尤其有用。
- 在左侧边栏中访问
操作中心
->资源定义
以查看资源定义列表。 - 找到所需的资源定义并点击其名称查看其详细信息。
- 选择
UI模式
标签。 - 点击右上角的省略号(
...
)按钮并选择编辑
。 - 根据需要在 UI 编辑器中修改模式。您可以通过点击
预览
或模式
在编辑和预览模式之间切换。 - 点击
保存
以保存您的更改。