跳到主要内容
版本:v0.6

资源定义

概念

资源定义用于声明一种新类型的资源,它描述该资源类型的名称、类型、匹配规则以及在特定条件下的管理员配置和使用的 UI 样式。这使得 Walrus 能够有效地理解和管理这种资源类型的生命周期,是实现构建多云应用、简化部署配置的核心。

definition-explain

类比容器中多架构的概念,允许在同一个镜像中包含不同架构的镜像 Manifest 配置,获取镜像时根据实际环境自动选择合适镜像,使得容器可以在不同硬件上无缝切换。 Walrus 资源定义就是部署过程中的 Manifest,包含不同规则的配置,在部署时,自动根据部署环境选择合适的部署模板。

definition-explain2

资源定义包括四个部分:模板,匹配规则,模版配置和 UI 样式。

模板

资源定义支持使用Walrus 内置的模板或导入的模板。

匹配规则

资源定义的匹配规则通过选择器定义了匹配条件,以及部署该类型资源时使用的模板和预定义配置。

选择器

单个匹配规则可以包括多个选择器。这些选择器基于相等性,它们的组合通过逻辑与操作(AND)来功能。如果资源满足规则的所有选择器,则与匹配规则对齐,从而在部署过程中应用相关的模板和配置。

例如,带有选择器项目名称=foo环境名称=dev的匹配规则匹配foo项目的dev环境中的资源,而不匹配test环境中的资源。

definition-selector

规则优先级

匹配规则不是互斥的。也就是说,多个规则可以匹配单个资源。在这种情况下,将使用优先级最高的规则。优先级由规则中匹配的选择器评分决定,评分总和越高,优先级越高。选择器评分如下:

条件类型环境类型项目标签项目名称环境标签环境名称资源标签
匹配分数12481632

预定义模版配置

通过在匹配的规则下添加预定义配置,能够为用户提供最佳实践,简化用户部署配置。

输入输出和 UI 样式

资源定义的输入变量和输出是从其匹配规则中包含的所有模板的组合模式自动生成的。

例如,考虑一个资源定义,它在其匹配规则中使用模板 A 和 B。

  • 模板 A 包括输入imagesize,以及输出endpointstatus
  • 模板 B 包括输入imageregion,以及输出endpointcreate_time

因此,资源定义的模式将包括输入image和输出endpoint

资源定义的 UI 样式是根据输入变量自动生成的,支持根据需求定制的用户界面样式,屏蔽复杂度。

管理资源定义

查看资源定义列表

  1. 在左侧边栏中点击操作中心
  2. 选择资源定义标签以查看资源定义列表。

definition-list

查看资源定义详情

  1. 在左侧边栏中导航到操作中心 -> 资源定义以访问资源定义列表。
  2. 找到您希望查看的资源定义并点击其名称以打开其详细页面。
  3. 在资源定义详细页面中,您可以查看资源定义的详细信息,包括其匹配规则,输入输出,UI 模式和使用该资源定义创建的资源列表。
  4. 在已创建的资源列表中,您可以对资源进行管理操作,例如启动、停止、部署、删除等。列表支持对项目名称和匹配规则进行筛选。

definition-detail

创建资源定义

  1. 在资源定义列表中选择新建资源定义
  2. 完成表单。名称作为资源定义的标识符,名称在系统内必须唯一。类型表示资源的类型,相同类型下可以有多个资源定义。匹配规则指定了在特定条件下,这种类型的资源如何与模板对齐。更多信息请参阅资源定义匹配规则
  3. 点击保存以完成创建。

definition-create

删除资源定义

  1. 在左侧边栏中前往操作中心 -> 资源定义以查看资源定义列表。
  2. 确定您打算删除的资源定义。
  3. 在选择删除资源定义之前,请确保没有现有资源依赖于它。然后,点击删除按钮。
  4. 点击确认按钮确认删除。

definition-delete

自定义资源定义的 UI 模式

您可以自定义资源定义的 UI 模式。当您想简化或修改该类型资源的用户配置时,这一点尤其有用。

  1. 在左侧边栏中访问操作中心 -> 资源定义以查看资源定义列表。
  2. 找到所需的资源定义并点击其名称查看其详细信息。
  3. 选择UI模式标签。
  4. 点击右上角的省略号(...)按钮并选择编辑
  5. 根据需要在 UI 编辑器中修改模式。您可以通过点击预览模式在编辑和预览模式之间切换。
  6. 点击保存以保存您的更改。

definition-ui-schema