1.4.3. 添加协调选项


您可以在单个资源中使用 apps.open-cluster-management.io/reconcile-option 注解来覆盖订阅级别的协调选项。

例如,如果您在订阅中添加 apps.open-cluster-management.io/reconcile-option: replace 注解,在订阅的 Git 仓库的一个资源 YAML 中添加 apps.open-cluster-management.io/reconcile-option: merge 注解,则资源将在目标集群中合并,其他资源则在替换其他资源时合并。

1.4.3.1. 协调频率 Git 频道

您可以选择在频道配置中选择协调频率选项: highmediumlowoff,以避免不必要的资源协调,并因此防止订阅 operator 的超载。

需要的访问权限: 管理员和集群管理员

请参阅以下的 settings:attribute:<value> 定义:

  • Off:不自动协调部署的资源。Subscription 自定义资源的更改会启动协调。您可以添加或更新标签或注解。
  • Low:部署的资源会每小时自动协调,即使源 Git 存储库没有改变。
  • Medium:这是默认设置。订阅 operator 每 3 分钟将当前部署的提交 ID 与源存储库的最新提交 ID 进行比较,并将更改应用到目标集群。每 15 分钟,所有资源都会从源 Git 存储库重新应用到目标集群,即使存储库没有改变。
  • High:部署的资源每两分钟自动协调,即使源 Git 存储库没有改变。

您可以使用订阅引用的频道自定义资源中的 apps.open-cluster-management.io/reconcile-rate 注解进行设置。

请参阅以下 name: git-channel 示例:

apiVersion: apps.open-cluster-management.io/v1
kind: Channel
metadata:
  name: git-channel
  namespace: sample
  annotations:
    apps.open-cluster-management.io/reconcile-rate: <value from the list>
spec:
  type: GitHub
  pathname: <Git URL>
---
apiVersion: apps.open-cluster-management.io/v1
kind: Subscription
metadata:
  name: git-subscription
  annotations:
    apps.open-cluster-management.io/git-path: <application1>
    apps.open-cluster-management.io/git-branch: <branch1>
spec:
  channel: sample/git-channel
  placement:
    local: true

在上例中,所有使用 sample/git-channel 的订阅都被分配了 low 协调频率。

  1. 当订阅协调率被设置为 low 时,订阅的应用程序资源最多可能需要一小时才能完成协调。在单个应用程序视图的卡上,单击 Sync 以手动协调。如果设为 off,则永远不会协调。

无论频道中的 reconcile-rate 设置是什么,订阅都可以通过在 Subscription 自定义资源中指定 apps.open-cluster-management.io/reconcile-rate: off 注解来关闭自动协调。

请参阅以下 git-channel 示例:

apiVersion: apps.open-cluster-management.io/v1
kind: Channel
metadata:
  name: git-channel
  namespace: sample
  annotations:
    apps.open-cluster-management.io/reconcile-rate: high
spec:
  type: GitHub
  pathname: <Git URL>
---
apiVersion: apps.open-cluster-management.io/v1
kind: Subscription
metadata:
  name: git-subscription
  annotations:
    apps.open-cluster-management.io/git-path: application1
    apps.open-cluster-management.io/git-branch: branch1
    apps.open-cluster-management.io/reconcile-rate: "off"
spec:
  channel: sample/git-channel
  placement:
    local: true

git-subscription 部署的资源永远不会自动协调,即使 reconcile-rate 在频道中被设置为 high

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.