16.4. 创建部署集合
在创建集合时,您必须命名它并为集合定义规则。
流程
- 在 Collections 页面中,点 Create collection。
- 输入集合的名称和描述。
在 Collection rules 部分中,必须至少执行以下操作之一:
- 为集合定义规则:如需更多信息,请参阅"创建集合规则"部分。
- 将现有集合附加到集合:如需更多信息,请参阅"添加附加集合"部分。
- 您的规则配置的结果或选择附加的集合在 Collection 结果 实时预览面板中提供。点 Hide 结果 从显示中删除此面板。
- 点 Save。
16.4.1. 创建集合规则 复制链接链接已复制到粘贴板!
在创建集合时,必须至少配置一个规则,或将另一个集合附加到您要创建的新集合中。
目前,集合仅适用于部署。
配置规则以选择要包含在集合中的资源。使用 preview 面板查看集合规则的结果(在配置它们时)。您可以以任何顺序配置规则。
流程
在 Deployments 部分中,从下拉列表中选择以下选项之一:
- 所有部署 :包括集合中的所有部署。如果选择这个选项,则必须使用命名空间或集群或附加另一个集合来过滤集合。
带有与名称匹配的部署,点此选项按名称选择,然后点击以下选项之一:
- 选择 An exact value of,并输入部署的确切名称。
- 选择 A regex value of 来使用正则表达式来搜索部署。如果您不知道部署的确切名称,则此选项很有用。正则表达式是定义模式的字母、数字和符号的字符串。RHACS 使用此模式匹配字符或字符组并返回结果。有关正则表达式的更多信息,请参阅"添加资源"部分中的"常规-Expressions.info"。
-
带有完全匹配标签的 部署:点击这个选项来选择与您输入的确切文本匹配的标签部署。标签必须是有效的 Kubernetes 标签,格式为
key=value
。
- 可选: 要使用与包含其他条件匹配的名称或标签添加更多部署,请点 OR 并配置另一个准确或正则表达式值。
以下示例提供了为医疗应用程序配置集合的步骤。在本例中,您希望集合包含 报告
部署、名为 patient-db
的数据库,您想要使用标签( key = kubernetes.io/metadata.name
和 value =
health )选择命名空间。在本例中,执行以下步骤:
- 在 Collection rules 中,选择 Deployments with name match。
- 单击 An exact value of,再输入 reporting。
- 单击 OR。
点 A regex value of 并输入 adtrust
-db
以选择环境中名称以db
结尾的所有部署。regex value
选项使用正则表达式进行模式匹配;有关正则表达式的更多信息,请参阅 Additional resources 部分中的 " regular-Expressions.info"。右侧的面板可能会显示您不想包含的数据库。您可以使用其他过滤器排除这些数据库。例如:-
点 Namespaces with labels matching exactly 并输入
kubernetes.io/metadata.name=medical
来只包括被标记为medical
命名空间中的部署来根据命名空间进行过滤。 - 如果您知道命名空间的名称,点 Namespaces with name match,并输入名称。
-
点 Namespaces with labels matching exactly 并输入
16.4.2. 添加附加的集合 复制链接链接已复制到粘贴板!
如果要基于部署创建小集合,对集合进行分组,并将它们添加到其他集合中会很有用。您可以重复使用这些较小的集合并将其合并到更大的分级集合中。在您要创建的集合中添加额外的集合:
执行以下操作之一:
- 在 Filter by name 字段中输入 text,然后按 → 查看匹配的结果。
- 点 Available collections 列表中的集合名称,以查看有关集合的信息,如集合的名称和规则,以及与该集合匹配的部署。
- 查看集合信息后,关闭窗口以返回到 Attached collections 页面。
单击 +Attach。Attached collections 部分列出了您附加的集合。
注意当您添加附加的集合时,附加的集合会根据配置的选择规则包含结果。例如,如果附加的集合包含根据父集合中使用的规则过滤的资源,则这些项目仍然会因为附加的集合中的规则而添加到父集合中。附加的集合使用
OR
运算符扩展原始集合。- 点 Save。