2.6.2.3. 在集群中部署策略


在推送更改后,您可以将策略部署到 Red Hat Advanced Cluster Management for Kubernetes 安装中。在部署后,您的 hub 集群连接到 Git 存储库。对 Git 存储库所选分支的任何其他更改都会反映在集群中。

: 默认情况下,通过 GitOps 部署的策略使用 合并 协调选项。如果要使用 replace reconcile 选项,将 apps.open-cluster-management.io/reconcile-option: replace 注解添加到 Subscription 资源。如需了解更多详细信息 请参阅应用程序生命周期。

deploy.sh 脚本在 hub 集群中创建 ChannelSubscription 资源。频道连接到 Git 仓库,订阅指定要通过频道传递给集群的数据。因此,在您的 hub 上会创建指定子目录中定义的所有策略。在订阅创建策略后,Red Hat Advanced Cluster Management 会根据定义的放置规则分析策略,并在与策略应用到的每个受管集群关联的命名空间中创建额外的策略资源。

该策略随后从 hub 集群上对应的受管集群命名空间中复制到受管集群。因此,Git 仓库中的策略推送到具有与策略放置规则中定义的 clusterSelector 匹配的所有受管集群。

完成以下步骤:

  1. policy-collection 文件夹中运行以下命令来更改目录:

    cd deploy
  2. 请确定将命令行界面(CLI)配置为使用以下命令在正确的集群中创建资源:

    oc cluster-info

    命令的输出显示集群的 API 服务器详情,其中安装了 Red Hat Advanced Cluster Management。如果没有显示正确的 URL,请将 CLI 配置为指向正确的集群。如需更多信息,请参阅使用 OpenShift CLI

  3. 创建一个命名空间,创建您的策略以控制访问和组织策略。运行以下命令:

    oc create namespace policy-namespace
  4. 运行以下命令将策略部署到集群中:

    ./deploy.sh -u https://github.com/<your-repository>/policy-collection -p my-policies -n policy-namespace

    your-repository 替换为您的 Git 用户名或存储库名称。

    deploy.sh 脚本的完整参数列表使用以下语法:

    ./deploy.sh [-u <url>] [-b <branch>] [-p <path/to/dir>] [-n <namespace>] [-a|--name <resource-name>]

    查看每个参数的以下解释:

    • URL:从主 policy-collection 存储库派生的存储库的 URL。默认 URL 为 https://github.com/stolostron/policy-collection.git
    • 分支:要指向的 Git 存储库的分支。默认分支为 main
    • 子目录路径:为包含要使用的策略而创建的子目录路径。在前面的示例中,我们使用了 my-policies 子目录,但您也可以指定您想要从哪个文件夹开始。例如,您可以使用 my-policies/AC-Access-Control。默认文件夹为 stable
    • Namespace:在 hub 集群中创建资源和策略的命名空间。这些说明使用 policy-namespace 命名空间。默认命名空间是 policies
    • 名称前缀: ChannelSubscription 资源的前缀。默认为 demo-stable-policies

运行 deploy.sh 脚本后,有权访问存储库的任何用户都可以提交更改到分支,该分支会将更改推送到集群上执行策略。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.