搜索

5.4. 使用 PolicyGenTemplate CR 自定义受管集群

download PDF

使用以下步骤自定义应用于使用 GitOps Zero Touch Provisioning (ZTP) 管道置备的受管集群的策略。

先决条件

  • 已安装 OpenShift CLI(oc)。
  • 已以具有 cluster-admin 权限的用户身份登录到 hub 集群。
  • 配置了 hub 集群来生成所需的安装和策略 CR。
  • 您创建了 Git 存储库,用于管理自定义站点配置数据。该存储库必须可从 hub 集群访问,并定义为 Argo CD 应用程序的源仓库。

流程

  1. 为特定于站点的配置 CR 创建 PolicyGenTemplate CR。

    1. out/argocd/example/policygentemplates 文件夹中选择适当的 CR 示例,例如 example-sno-site.yamlexample-multinode-site.yaml
    2. 更改示例文件中的 bindingRules 字段,使其与 SiteConfig CR 中包含的特定于站点的标签匹配。在示例 SiteConfig 文件中,特定于站点的标签是 sites: example-sno

      注意

      确保 PolicyGenTemplate bindingRules 字段中定义的标签对应于相关受管集群 SiteConfig CR 中定义的标签。

    3. 更改示例文件中的内容,使其与所需配置匹配。
  2. 可选:为应用到集群的任何通用配置 CR 创建一个 PolicyGenTemplate CR。

    1. out/argocd/example/policygentemplates 文件夹中选择适合您的 CR 示例,例如 common-ranGen.yaml
    2. 更改示例文件中的内容,使其与所需配置匹配。
  3. 可选:为应用到团队中特定集群组的任何组配置 CR 创建一个 PolicyGenTemplate CR。

    确保 overlaid spec 文件的内容与您的预期最终状态匹配。作为参考,out/source-crs 目录包含可用于包含并由您的 PolicyGenTemplate 模板提供的 source-crs 的完整列表。

    注意

    根据集群的特定要求,每个集群类型可能需要一个组策略,特别是考虑示例组策略各自有一个 PerformancePolicy.yaml 文件,如果这些集群是由相同的硬件配置,则只能在一组集群中共享。

    1. out/argocd/example/policygentemplates 文件夹中选择适当的 CR 示例,例如 group-du-sno-ranGen.yaml
    2. 更改示例文件中的内容,使其与所需配置匹配。
  4. 可选。当 GitOps ZTP 安装和配置完成后,创建验证器通知策略 PolicyGenTemplate CR。如需更多信息,请参阅"创建验证器通知策略"。
  5. 在 YAML 文件中定义所有策略命名空间,类似于示例 out/argocd/example/policygentemplates/ns.yaml 文件。

    重要

    不要在带有 PolicyGenTemplate CR 的同一文件中包括 Namespace CR。

  6. PolicyGenTemplate CR 和 Namespace CR 添加到 generators 部分中的 kustomization.yaml 文件中,类似于 out/argocd/example/policygentemplates/kustomization.yaml 所示的示例。
  7. 在 Git 存储库中提交 PolicyGenTemplate CR、Namespace CR 和关联的 kustomization.yaml 文件并推送更改。

    ArgoCD 管道检测到更改并开始受管集群部署。您可以同时将更改推送到 SiteConfig CR 和 PolicyGenTemplate CR。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.